TPTP Problem File: ITP143^1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP143^1 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer PHoareTotal problem prob_402__3262836_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : PHoareTotal/prob_402__3262836_1 [Des21]

% Status   : Theorem
% Rating   : 0.90 v8.2.0, 0.92 v8.1.0, 0.82 v7.5.0
% Syntax   : Number of formulae    :  497 ( 165 unt; 143 typ;   0 def)
%            Number of atoms       :  909 ( 473 equ;   0 cnn)
%            Maximal formula atoms :    7 (   2 avg)
%            Number of connectives : 4557 ( 201   ~;  23   |; 103   &;3731   @)
%                                         (   0 <=>; 499  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   22 (   9 avg)
%            Number of types       :   37 (  36 usr)
%            Number of type conns  :  417 ( 417   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  108 ( 107 usr;  11 con; 0-4 aty)
%            Number of variables   : 1477 (  13   ^;1396   !;  68   ?;1477   :)
% SPC      : TH0_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 15:33:28.516
%------------------------------------------------------------------------------
% Could-be-implicit typings (36)
thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_J_J,type,
    set_Pr1847866567_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_J,type,
    produc1519776487_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_J,type,
    set_Pr2096893127_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    produc186437863_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_J_J,type,
    set_Pr1419004359_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_J_J,type,
    set_Pr135335153st_com: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_J,type,
    produc392316135_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_J,type,
    produc1440412305st_com: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_J,type,
    set_Pr1142642759_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_J_J,type,
    set_Pr2083163591st_com: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    produc1225889383_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_J,type,
    produc1762014951st_com: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    set_Pr1165141447_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    produc410756839_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_Mt__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_J_J,type,
    set_Pr1675528647om_com: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_Mt__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_J,type,
    produc1065433319om_com: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_J,type,
    set_Pr391631483_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J,type,
    produc1393453339_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    produc2058209240st_com: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_J,type,
    set_Pr602326075st_com: $tType ).

thf(ty_n_t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    list_P1040014977_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    set_Pr849496667_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    produc258871771st_com: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J_J,type,
    set_Pr795498619_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    produc2041926651_state: $tType ).

thf(ty_n_t__Set__Oset_It__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_J,type,
    set_Pr1822651163om_com: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    produc1115495963_state: $tType ).

thf(ty_n_t__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J,type,
    product_prod_com_com: $tType ).

thf(ty_n_t__List__Olist_It__List__Olist_It__PLang__Ocom_J_J,type,
    list_list_com: $tType ).

thf(ty_n_t__List__Olist_It__PLang__Ostate_J,type,
    list_state: $tType ).

thf(ty_n_t__Set__Oset_It__PLang__Ostate_J,type,
    set_state: $tType ).

thf(ty_n_t__List__Olist_It__PLang__Ocom_J,type,
    list_com: $tType ).

thf(ty_n_t__Set__Oset_It__Nat__Onat_J,type,
    set_nat: $tType ).

thf(ty_n_t__PLang__Ostate,type,
    state: $tType ).

thf(ty_n_t__PLang__Ocom,type,
    com: $tType ).

thf(ty_n_t__Nat__Onat,type,
    nat: $tType ).

% Explicit typings (107)
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat,type,
    zero_zero_nat: nat ).

thf(sy_c_List_Oappend_001t__List__Olist_It__PLang__Ocom_J,type,
    append_list_com: list_list_com > list_list_com > list_list_com ).

thf(sy_c_List_Oappend_001t__PLang__Ocom,type,
    append_com: list_com > list_com > list_com ).

thf(sy_c_List_Oappend_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    append982487830_state: list_P1040014977_state > list_P1040014977_state > list_P1040014977_state ).

thf(sy_c_List_Obind_001t__PLang__Ocom_001t__PLang__Ocom,type,
    bind_com_com: list_com > ( com > list_com ) > list_com ).

thf(sy_c_List_Oconcat_001t__PLang__Ocom,type,
    concat_com: list_list_com > list_com ).

thf(sy_c_List_Ogen__length_001t__List__Olist_It__PLang__Ocom_J,type,
    gen_length_list_com: nat > list_list_com > nat ).

thf(sy_c_List_Ogen__length_001t__PLang__Ocom,type,
    gen_length_com: nat > list_com > nat ).

thf(sy_c_List_Ogen__length_001t__PLang__Ostate,type,
    gen_length_state: nat > list_state > nat ).

thf(sy_c_List_Ogen__length_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    gen_le1266608782_state: nat > list_P1040014977_state > nat ).

thf(sy_c_List_Oinsert_001t__PLang__Ocom,type,
    insert_com: com > list_com > list_com ).

thf(sy_c_List_Olenlex_001t__PLang__Ocom,type,
    lenlex_com: set_Pr1822651163om_com > set_Pr602326075st_com ).

thf(sy_c_List_Olenlex_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    lenlex295247238_state: set_Pr1165141447_state > set_Pr1142642759_state ).

thf(sy_c_List_Olex_001t__PLang__Ocom,type,
    lex_com: set_Pr1822651163om_com > set_Pr602326075st_com ).

thf(sy_c_List_Olex_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    lex_Pr570247525_state: set_Pr1165141447_state > set_Pr1142642759_state ).

thf(sy_c_List_Olexord_001t__PLang__Ocom,type,
    lexord_com: set_Pr1822651163om_com > set_Pr602326075st_com ).

thf(sy_c_List_Olexord_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    lexord1062073966_state: set_Pr1165141447_state > set_Pr1142642759_state ).

thf(sy_c_List_Olist_OCons_001t__List__Olist_It__PLang__Ocom_J,type,
    cons_list_com: list_com > list_list_com > list_list_com ).

thf(sy_c_List_Olist_OCons_001t__PLang__Ocom,type,
    cons_com: com > list_com > list_com ).

thf(sy_c_List_Olist_OCons_001t__PLang__Ostate,type,
    cons_state: state > list_state > list_state ).

thf(sy_c_List_Olist_OCons_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    cons_P465369265_state: produc2041926651_state > list_P1040014977_state > list_P1040014977_state ).

thf(sy_c_List_Olist_ONil_001t__List__Olist_It__PLang__Ocom_J,type,
    nil_list_com: list_list_com ).

thf(sy_c_List_Olist_ONil_001t__PLang__Ocom,type,
    nil_com: list_com ).

thf(sy_c_List_Olist_ONil_001t__PLang__Ostate,type,
    nil_state: list_state ).

thf(sy_c_List_Olist_ONil_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    nil_Pr1844458753_state: list_P1040014977_state ).

thf(sy_c_List_Olistrel1_001t__PLang__Ocom,type,
    listrel1_com: set_Pr1822651163om_com > set_Pr602326075st_com ).

thf(sy_c_List_Olistrel1_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    listre1738592858_state: set_Pr1165141447_state > set_Pr1142642759_state ).

thf(sy_c_List_Olistrel_001t__List__Olist_It__PLang__Ocom_J_001t__PLang__Ostate,type,
    listre1268245261_state: set_Pr849496667_state > set_Pr391631483_state ).

thf(sy_c_List_Olistrel_001t__PLang__Ocom_001t__PLang__Ocom,type,
    listrel_com_com: set_Pr1822651163om_com > set_Pr602326075st_com ).

thf(sy_c_List_Olistrel_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    listre194873521_state: set_Pr1165141447_state > set_Pr1142642759_state ).

thf(sy_c_List_Omaps_001t__PLang__Ocom_001t__PLang__Ocom,type,
    maps_com_com: ( com > list_com ) > list_com > list_com ).

thf(sy_c_List_On__lists_001t__PLang__Ocom,type,
    n_lists_com: nat > list_com > list_list_com ).

thf(sy_c_List_Onths_001t__PLang__Ocom,type,
    nths_com: list_com > set_nat > list_com ).

thf(sy_c_List_Oproduct__lists_001t__PLang__Ocom,type,
    product_lists_com: list_list_com > list_list_com ).

thf(sy_c_List_Orotate1_001t__PLang__Ocom,type,
    rotate1_com: list_com > list_com ).

thf(sy_c_List_Osubseqs_001t__PLang__Ocom,type,
    subseqs_com: list_com > list_list_com ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__PLang__Ocom_J,type,
    size_size_list_com: list_com > nat ).

thf(sy_c_Nat_Osize__class_Osize_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    size_s213202669_state: list_P1040014977_state > nat ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Oexec1,type,
    pHoare259243666_exec1: set_Pr1165141447_state ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Oexec1p,type,
    pHoare202237534exec1p: list_com > state > list_com > state > $o ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Oexecs,type,
    pHoare259243732_execs: state > list_com > state > $o ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Oinf,type,
    pHoare2126160787le_inf: list_com > state > $o ).

thf(sy_c_PHoareTotal__Mirabelle__ynemugpbor_Otermis,type,
    pHoare806997636termis: list_com > state > $o ).

thf(sy_c_PLang_Ocom_OCond,type,
    cond: ( state > $o ) > com > com > com ).

thf(sy_c_PLang_Ocom_ODo,type,
    do: ( state > set_state ) > com ).

thf(sy_c_PLang_Ocom_OSemi,type,
    semi: com > com > com ).

thf(sy_c_PLang_Ocom_OWhile,type,
    while: ( state > $o ) > com > com ).

thf(sy_c_PLang_Oexec,type,
    exec: state > com > state > $o ).

thf(sy_c_PTermi_Otermi,type,
    termi: com > state > $o ).

thf(sy_c_Product__Type_OPair_001_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_001t__List__Olist_It__PLang__Ocom_J,type,
    produc1914379986st_com: ( com > com > $o ) > list_com > produc2058209240st_com ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_001t__List__Olist_It__PLang__Ostate_J,type,
    produc1742567891_state: list_list_com > list_state > produc1393453339_state ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__PLang__Ocom_J_001t__List__Olist_It__PLang__Ocom_J,type,
    produc1307105171st_com: list_com > list_com > produc258871771st_com ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__PLang__Ocom_J_001t__PLang__Ostate,type,
    produc1204172211_state: list_com > state > produc2041926651_state ).

thf(sy_c_Product__Type_OPair_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    produc1298457559_state: list_P1040014977_state > list_P1040014977_state > produc1225889383_state ).

thf(sy_c_Product__Type_OPair_001t__PLang__Ocom_001t__PLang__Ocom,type,
    product_Pair_com_com: com > com > product_prod_com_com ).

thf(sy_c_Product__Type_OPair_001t__PLang__Ostate_001t__PLang__Ostate,type,
    produc64584659_state: state > state > produc1115495963_state ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_001t__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    produc67337417st_com: produc2058209240st_com > produc2058209240st_com > produc1440412305st_com ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J,type,
    produc67381847_state: produc1393453339_state > produc1393453339_state > produc392316135_state ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    produc313736791st_com: produc258871771st_com > produc258871771st_com > produc1762014951st_com ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    produc1909270103_state: produc2041926651_state > produc2041926651_state > produc410756839_state ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    produc984060759_state: produc1225889383_state > produc1225889383_state > produc1519776487_state ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_001t__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J,type,
    produc1140939351om_com: product_prod_com_com > product_prod_com_com > produc1065433319om_com ).

thf(sy_c_Product__Type_OPair_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    produc2065881943_state: produc410756839_state > produc410756839_state > produc186437863_state ).

thf(sy_c_Relation_Oirrefl_001t__PLang__Ocom,type,
    irrefl_com: set_Pr1822651163om_com > $o ).

thf(sy_c_Relation_Oirrefl_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    irrefl654089520_state: set_Pr1165141447_state > $o ).

thf(sy_c_Set_OCollect_001t__Nat__Onat,type,
    collect_nat: ( nat > $o ) > set_nat ).

thf(sy_c_Set_OCollect_001t__PLang__Ostate,type,
    collect_state: ( state > $o ) > set_state ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J,type,
    collec924674566_state: ( produc1393453339_state > $o ) > set_Pr391631483_state ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    collec328862150st_com: ( produc258871771st_com > $o ) > set_Pr602326075st_com ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    collec1409185766_state: ( produc2041926651_state > $o ) > set_Pr849496667_state ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    collec183560402_state: ( produc1225889383_state > $o ) > set_Pr1142642759_state ).

thf(sy_c_Set_OCollect_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    collec300063826_state: ( produc410756839_state > $o ) > set_Pr1165141447_state ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__List__Olist_It__PLang__Ocom_J,type,
    transi436345274st_com: set_Pr602326075st_com > set_Pr602326075st_com ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    transi339813252_state: set_Pr1142642759_state > set_Pr1142642759_state ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__PLang__Ocom,type,
    transi863150634cl_com: set_Pr1822651163om_com > set_Pr1822651163om_com ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    transi1592315797st_com: set_Pr135335153st_com > set_Pr135335153st_com ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J,type,
    transi89280670_state: set_Pr1419004359_state > set_Pr1419004359_state ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    transi1782245470st_com: set_Pr2083163591st_com > set_Pr2083163591st_com ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    transi1302705790_state: set_Pr1165141447_state > set_Pr1165141447_state ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    transi1428749162_state: set_Pr1847866567_state > set_Pr1847866567_state ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J,type,
    transi1042416958om_com: set_Pr1675528647om_com > set_Pr1675528647om_com ).

thf(sy_c_Transitive__Closure_Ortrancl_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    transi463013610_state: set_Pr2096893127_state > set_Pr2096893127_state ).

thf(sy_c_Wfrec_Osame__fst_001t__List__Olist_It__PLang__Ocom_J_001t__PLang__Ostate,type,
    same_f855297288_state: ( list_com > $o ) > ( list_com > set_Pr795498619_state ) > set_Pr1165141447_state ).

thf(sy_c_Wfrec_Osame__fst_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    same_f1258458156_state: ( produc2041926651_state > $o ) > ( produc2041926651_state > set_Pr1165141447_state ) > set_Pr2096893127_state ).

thf(sy_c_member_001t__Nat__Onat,type,
    member_nat: nat > set_nat > $o ).

thf(sy_c_member_001t__PLang__Ostate,type,
    member_state: state > set_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J,type,
    member1442949316_state: produc1393453339_state > set_Pr391631483_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J,type,
    member32358020st_com: produc258871771st_com > set_Pr602326075st_com > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J,type,
    member64234660_state: produc2041926651_state > set_Pr849496667_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    member1267359376_state: produc1225889383_state > set_Pr1142642759_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J,type,
    member1333916004om_com: product_prod_com_com > set_Pr1822651163om_com > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__PLang__Ostate_Mt__PLang__Ostate_J,type,
    member1389040324_state: produc1115495963_state > set_Pr795498619_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_I_062_It__PLang__Ocom_M_062_It__PLang__Ocom_M_Eo_J_J_Mt__List__Olist_It__PLang__Ocom_J_J_J,type,
    member89779770st_com: produc1440412305st_com > set_Pr135335153st_com > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__List__Olist_It__PLang__Ocom_J_J_Mt__List__Olist_It__PLang__Ostate_J_J_J,type,
    member1414265872_state: produc392316135_state > set_Pr1419004359_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__List__Olist_It__PLang__Ocom_J_J_J,type,
    member919914512st_com: produc1762014951st_com > set_Pr2083163591st_com > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J,type,
    member1069318160_state: produc410756839_state > set_Pr1165141447_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_Mt__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__List__Olist_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J_J,type,
    member2092727056_state: produc1519776487_state > set_Pr1847866567_state > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_Mt__Product____Type__Oprod_It__PLang__Ocom_Mt__PLang__Ocom_J_J,type,
    member2105207824om_com: produc1065433319om_com > set_Pr1675528647om_com > $o ).

thf(sy_c_member_001t__Product____Type__Oprod_It__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_Mt__Product____Type__Oprod_It__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_Mt__Product____Type__Oprod_It__List__Olist_It__PLang__Ocom_J_Mt__PLang__Ostate_J_J_J,type,
    member512523024_state: produc186437863_state > set_Pr2096893127_state > $o ).

thf(sy_v_a,type,
    a: list_com ).

thf(sy_v_b,type,
    b: state > $o ).

thf(sy_v_ba,type,
    ba: state ).

thf(sy_v_c,type,
    c: com ).

thf(sy_v_cs,type,
    cs: list_com ).

thf(sy_v_f,type,
    f: nat > produc2041926651_state ).

thf(sy_v_s,type,
    s: state ).

% Relevant facts (349)
thf(fact_0_exec1E_I5_J,axiom,
    ! [B: state > $o,C: com,Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( while @ B @ C ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ( ( ( Cs2 = Cs )
         => ( ( S2 = S )
           => ( B @ S ) ) )
       => ~ ( ( Cs2
              = ( cons_com @ C @ ( cons_com @ ( while @ B @ C ) @ Cs ) ) )
           => ( ( S2 = S )
             => ~ ( B @ S ) ) ) ) ) ).

% exec1E(5)
thf(fact_1_exec1_OWhileTrue,axiom,
    ! [B: state > $o,S: state,C: com,Cs: list_com] :
      ( ( B @ S )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( while @ B @ C ) @ Cs ) @ S ) @ ( produc1204172211_state @ ( cons_com @ C @ ( cons_com @ ( while @ B @ C ) @ Cs ) ) @ S ) ) @ pHoare259243666_exec1 ) ) ).

% exec1.WhileTrue
thf(fact_2_exec1_OWhileFalse,axiom,
    ! [B: state > $o,S: state,C: com,Cs: list_com] :
      ( ~ ( B @ S )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( while @ B @ C ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs @ S ) ) @ pHoare259243666_exec1 ) ) ).

% exec1.WhileFalse
thf(fact_3_inf__def,axiom,
    ( pHoare2126160787le_inf
    = ( ^ [Cs3: list_com,S3: state] :
        ? [F: nat > produc2041926651_state] :
          ( ( ( F @ zero_zero_nat )
            = ( produc1204172211_state @ Cs3 @ S3 ) )
          & ! [I: nat] : ( member1069318160_state @ ( produc1909270103_state @ ( F @ I ) @ ( F @ ( suc @ I ) ) ) @ pHoare259243666_exec1 ) ) ) ) ).

% inf_def
thf(fact_4_com_Oinject_I4_J,axiom,
    ! [X41: state > $o,X42: com,Y41: state > $o,Y42: com] :
      ( ( ( while @ X41 @ X42 )
        = ( while @ Y41 @ Y42 ) )
      = ( ( X41 = Y41 )
        & ( X42 = Y42 ) ) ) ).

% com.inject(4)
thf(fact_5_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_6_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_7_list_Oinject,axiom,
    ! [X21: list_com,X22: list_list_com,Y21: list_com,Y22: list_list_com] :
      ( ( ( cons_list_com @ X21 @ X22 )
        = ( cons_list_com @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_8_list_Oinject,axiom,
    ! [X21: produc2041926651_state,X22: list_P1040014977_state,Y21: produc2041926651_state,Y22: list_P1040014977_state] :
      ( ( ( cons_P465369265_state @ X21 @ X22 )
        = ( cons_P465369265_state @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_9_list_Oinject,axiom,
    ! [X21: state,X22: list_state,Y21: state,Y22: list_state] :
      ( ( ( cons_state @ X21 @ X22 )
        = ( cons_state @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_10_list_Oinject,axiom,
    ! [X21: com,X22: list_com,Y21: com,Y22: list_com] :
      ( ( ( cons_com @ X21 @ X22 )
        = ( cons_com @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% list.inject
thf(fact_11_prod_Oinject,axiom,
    ! [X1: com,X2: com,Y1: com,Y2: com] :
      ( ( ( product_Pair_com_com @ X1 @ X2 )
        = ( product_Pair_com_com @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_12_prod_Oinject,axiom,
    ! [X1: list_P1040014977_state,X2: list_P1040014977_state,Y1: list_P1040014977_state,Y2: list_P1040014977_state] :
      ( ( ( produc1298457559_state @ X1 @ X2 )
        = ( produc1298457559_state @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_13_prod_Oinject,axiom,
    ! [X1: list_com,X2: list_com,Y1: list_com,Y2: list_com] :
      ( ( ( produc1307105171st_com @ X1 @ X2 )
        = ( produc1307105171st_com @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_14_prod_Oinject,axiom,
    ! [X1: list_list_com,X2: list_state,Y1: list_list_com,Y2: list_state] :
      ( ( ( produc1742567891_state @ X1 @ X2 )
        = ( produc1742567891_state @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_15_prod_Oinject,axiom,
    ! [X1: com > com > $o,X2: list_com,Y1: com > com > $o,Y2: list_com] :
      ( ( ( produc1914379986st_com @ X1 @ X2 )
        = ( produc1914379986st_com @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_16_prod_Oinject,axiom,
    ! [X1: list_com,X2: state,Y1: list_com,Y2: state] :
      ( ( ( produc1204172211_state @ X1 @ X2 )
        = ( produc1204172211_state @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_17_prod_Oinject,axiom,
    ! [X1: produc2041926651_state,X2: produc2041926651_state,Y1: produc2041926651_state,Y2: produc2041926651_state] :
      ( ( ( produc1909270103_state @ X1 @ X2 )
        = ( produc1909270103_state @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_18_old_Oprod_Oinject,axiom,
    ! [A: com,B: com,A2: com,B2: com] :
      ( ( ( product_Pair_com_com @ A @ B )
        = ( product_Pair_com_com @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_19_old_Oprod_Oinject,axiom,
    ! [A: list_P1040014977_state,B: list_P1040014977_state,A2: list_P1040014977_state,B2: list_P1040014977_state] :
      ( ( ( produc1298457559_state @ A @ B )
        = ( produc1298457559_state @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_20_old_Oprod_Oinject,axiom,
    ! [A: list_com,B: list_com,A2: list_com,B2: list_com] :
      ( ( ( produc1307105171st_com @ A @ B )
        = ( produc1307105171st_com @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_21_old_Oprod_Oinject,axiom,
    ! [A: list_list_com,B: list_state,A2: list_list_com,B2: list_state] :
      ( ( ( produc1742567891_state @ A @ B )
        = ( produc1742567891_state @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_22_old_Oprod_Oinject,axiom,
    ! [A: com > com > $o,B: list_com,A2: com > com > $o,B2: list_com] :
      ( ( ( produc1914379986st_com @ A @ B )
        = ( produc1914379986st_com @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_23_old_Oprod_Oinject,axiom,
    ! [A: list_com,B: state,A2: list_com,B2: state] :
      ( ( ( produc1204172211_state @ A @ B )
        = ( produc1204172211_state @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_24_old_Oprod_Oinject,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,A2: produc2041926651_state,B2: produc2041926651_state] :
      ( ( ( produc1909270103_state @ A @ B )
        = ( produc1909270103_state @ A2 @ B2 ) )
      = ( ( A = A2 )
        & ( B = B2 ) ) ) ).

% old.prod.inject
thf(fact_25_exec1__pres__termis,axiom,
    ! [Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Cs @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ( ( pHoare806997636termis @ Cs @ S )
       => ( pHoare806997636termis @ Cs2 @ S2 ) ) ) ).

% exec1_pres_termis
thf(fact_26_prod__cases3,axiom,
    ! [Y: produc410756839_state] :
      ~ ! [A3: produc2041926651_state,B3: list_com,C2: state] :
          ( Y
         != ( produc1909270103_state @ A3 @ ( produc1204172211_state @ B3 @ C2 ) ) ) ).

% prod_cases3
thf(fact_27_zero__reorient,axiom,
    ! [X: nat] :
      ( ( zero_zero_nat = X )
      = ( X = zero_zero_nat ) ) ).

% zero_reorient
thf(fact_28_old_Oprod_Oinducts,axiom,
    ! [P: product_prod_com_com > $o,Prod: product_prod_com_com] :
      ( ! [A3: com,B3: com] : ( P @ ( product_Pair_com_com @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_29_old_Oprod_Oinducts,axiom,
    ! [P: produc1225889383_state > $o,Prod: produc1225889383_state] :
      ( ! [A3: list_P1040014977_state,B3: list_P1040014977_state] : ( P @ ( produc1298457559_state @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_30_old_Oprod_Oinducts,axiom,
    ! [P: produc258871771st_com > $o,Prod: produc258871771st_com] :
      ( ! [A3: list_com,B3: list_com] : ( P @ ( produc1307105171st_com @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_31_old_Oprod_Oinducts,axiom,
    ! [P: produc1393453339_state > $o,Prod: produc1393453339_state] :
      ( ! [A3: list_list_com,B3: list_state] : ( P @ ( produc1742567891_state @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_32_old_Oprod_Oinducts,axiom,
    ! [P: produc2058209240st_com > $o,Prod: produc2058209240st_com] :
      ( ! [A3: com > com > $o,B3: list_com] : ( P @ ( produc1914379986st_com @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_33_old_Oprod_Oinducts,axiom,
    ! [P: produc2041926651_state > $o,Prod: produc2041926651_state] :
      ( ! [A3: list_com,B3: state] : ( P @ ( produc1204172211_state @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_34_old_Oprod_Oinducts,axiom,
    ! [P: produc410756839_state > $o,Prod: produc410756839_state] :
      ( ! [A3: produc2041926651_state,B3: produc2041926651_state] : ( P @ ( produc1909270103_state @ A3 @ B3 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_35_old_Oprod_Oexhaust,axiom,
    ! [Y: product_prod_com_com] :
      ~ ! [A3: com,B3: com] :
          ( Y
         != ( product_Pair_com_com @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_36_old_Oprod_Oexhaust,axiom,
    ! [Y: produc1225889383_state] :
      ~ ! [A3: list_P1040014977_state,B3: list_P1040014977_state] :
          ( Y
         != ( produc1298457559_state @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_37_old_Oprod_Oexhaust,axiom,
    ! [Y: produc258871771st_com] :
      ~ ! [A3: list_com,B3: list_com] :
          ( Y
         != ( produc1307105171st_com @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_38_old_Oprod_Oexhaust,axiom,
    ! [Y: produc1393453339_state] :
      ~ ! [A3: list_list_com,B3: list_state] :
          ( Y
         != ( produc1742567891_state @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_39_old_Oprod_Oexhaust,axiom,
    ! [Y: produc2058209240st_com] :
      ~ ! [A3: com > com > $o,B3: list_com] :
          ( Y
         != ( produc1914379986st_com @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_40_old_Oprod_Oexhaust,axiom,
    ! [Y: produc2041926651_state] :
      ~ ! [A3: list_com,B3: state] :
          ( Y
         != ( produc1204172211_state @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_41_old_Oprod_Oexhaust,axiom,
    ! [Y: produc410756839_state] :
      ~ ! [A3: produc2041926651_state,B3: produc2041926651_state] :
          ( Y
         != ( produc1909270103_state @ A3 @ B3 ) ) ).

% old.prod.exhaust
thf(fact_42_Pair__inject,axiom,
    ! [A: com,B: com,A2: com,B2: com] :
      ( ( ( product_Pair_com_com @ A @ B )
        = ( product_Pair_com_com @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_43_Pair__inject,axiom,
    ! [A: list_P1040014977_state,B: list_P1040014977_state,A2: list_P1040014977_state,B2: list_P1040014977_state] :
      ( ( ( produc1298457559_state @ A @ B )
        = ( produc1298457559_state @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_44_Pair__inject,axiom,
    ! [A: list_com,B: list_com,A2: list_com,B2: list_com] :
      ( ( ( produc1307105171st_com @ A @ B )
        = ( produc1307105171st_com @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_45_Pair__inject,axiom,
    ! [A: list_list_com,B: list_state,A2: list_list_com,B2: list_state] :
      ( ( ( produc1742567891_state @ A @ B )
        = ( produc1742567891_state @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_46_Pair__inject,axiom,
    ! [A: com > com > $o,B: list_com,A2: com > com > $o,B2: list_com] :
      ( ( ( produc1914379986st_com @ A @ B )
        = ( produc1914379986st_com @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_47_Pair__inject,axiom,
    ! [A: list_com,B: state,A2: list_com,B2: state] :
      ( ( ( produc1204172211_state @ A @ B )
        = ( produc1204172211_state @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_48_Pair__inject,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,A2: produc2041926651_state,B2: produc2041926651_state] :
      ( ( ( produc1909270103_state @ A @ B )
        = ( produc1909270103_state @ A2 @ B2 ) )
     => ~ ( ( A = A2 )
         => ( B != B2 ) ) ) ).

% Pair_inject
thf(fact_49_prod__cases,axiom,
    ! [P: product_prod_com_com > $o,P2: product_prod_com_com] :
      ( ! [A3: com,B3: com] : ( P @ ( product_Pair_com_com @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_50_prod__cases,axiom,
    ! [P: produc1225889383_state > $o,P2: produc1225889383_state] :
      ( ! [A3: list_P1040014977_state,B3: list_P1040014977_state] : ( P @ ( produc1298457559_state @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_51_prod__cases,axiom,
    ! [P: produc258871771st_com > $o,P2: produc258871771st_com] :
      ( ! [A3: list_com,B3: list_com] : ( P @ ( produc1307105171st_com @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_52_prod__cases,axiom,
    ! [P: produc1393453339_state > $o,P2: produc1393453339_state] :
      ( ! [A3: list_list_com,B3: list_state] : ( P @ ( produc1742567891_state @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_53_prod__cases,axiom,
    ! [P: produc2058209240st_com > $o,P2: produc2058209240st_com] :
      ( ! [A3: com > com > $o,B3: list_com] : ( P @ ( produc1914379986st_com @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_54_prod__cases,axiom,
    ! [P: produc2041926651_state > $o,P2: produc2041926651_state] :
      ( ! [A3: list_com,B3: state] : ( P @ ( produc1204172211_state @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_55_prod__cases,axiom,
    ! [P: produc410756839_state > $o,P2: produc410756839_state] :
      ( ! [A3: produc2041926651_state,B3: produc2041926651_state] : ( P @ ( produc1909270103_state @ A3 @ B3 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_56_surj__pair,axiom,
    ! [P2: product_prod_com_com] :
    ? [X3: com,Y3: com] :
      ( P2
      = ( product_Pair_com_com @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_57_surj__pair,axiom,
    ! [P2: produc1225889383_state] :
    ? [X3: list_P1040014977_state,Y3: list_P1040014977_state] :
      ( P2
      = ( produc1298457559_state @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_58_surj__pair,axiom,
    ! [P2: produc258871771st_com] :
    ? [X3: list_com,Y3: list_com] :
      ( P2
      = ( produc1307105171st_com @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_59_surj__pair,axiom,
    ! [P2: produc1393453339_state] :
    ? [X3: list_list_com,Y3: list_state] :
      ( P2
      = ( produc1742567891_state @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_60_surj__pair,axiom,
    ! [P2: produc2058209240st_com] :
    ? [X3: com > com > $o,Y3: list_com] :
      ( P2
      = ( produc1914379986st_com @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_61_surj__pair,axiom,
    ! [P2: produc2041926651_state] :
    ? [X3: list_com,Y3: state] :
      ( P2
      = ( produc1204172211_state @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_62_surj__pair,axiom,
    ! [P2: produc410756839_state] :
    ? [X3: produc2041926651_state,Y3: produc2041926651_state] :
      ( P2
      = ( produc1909270103_state @ X3 @ Y3 ) ) ).

% surj_pair
thf(fact_63_not__Cons__self2,axiom,
    ! [X: list_com,Xs: list_list_com] :
      ( ( cons_list_com @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_64_not__Cons__self2,axiom,
    ! [X: produc2041926651_state,Xs: list_P1040014977_state] :
      ( ( cons_P465369265_state @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_65_not__Cons__self2,axiom,
    ! [X: state,Xs: list_state] :
      ( ( cons_state @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_66_not__Cons__self2,axiom,
    ! [X: com,Xs: list_com] :
      ( ( cons_com @ X @ Xs )
     != Xs ) ).

% not_Cons_self2
thf(fact_67_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_68_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_69_not0__implies__Suc,axiom,
    ! [N: nat] :
      ( ( N != zero_zero_nat )
     => ? [M: nat] :
          ( N
          = ( suc @ M ) ) ) ).

% not0_implies_Suc
thf(fact_70_old_Onat_Oinducts,axiom,
    ! [P: nat > $o,Nat: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [Nat3: nat] :
            ( ( P @ Nat3 )
           => ( P @ ( suc @ Nat3 ) ) )
       => ( P @ Nat ) ) ) ).

% old.nat.inducts
thf(fact_71_old_Onat_Oexhaust,axiom,
    ! [Y: nat] :
      ( ( Y != zero_zero_nat )
     => ~ ! [Nat3: nat] :
            ( Y
           != ( suc @ Nat3 ) ) ) ).

% old.nat.exhaust
thf(fact_72_Zero__not__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_not_Suc
thf(fact_73_Zero__neq__Suc,axiom,
    ! [M2: nat] :
      ( zero_zero_nat
     != ( suc @ M2 ) ) ).

% Zero_neq_Suc
thf(fact_74_Suc__neq__Zero,axiom,
    ! [M2: nat] :
      ( ( suc @ M2 )
     != zero_zero_nat ) ).

% Suc_neq_Zero
thf(fact_75_zero__induct,axiom,
    ! [P: nat > $o,K: nat] :
      ( ( P @ K )
     => ( ! [N2: nat] :
            ( ( P @ ( suc @ N2 ) )
           => ( P @ N2 ) )
       => ( P @ zero_zero_nat ) ) ) ).

% zero_induct
thf(fact_76_diff__induct,axiom,
    ! [P: nat > nat > $o,M2: nat,N: nat] :
      ( ! [X3: nat] : ( P @ X3 @ zero_zero_nat )
     => ( ! [Y3: nat] : ( P @ zero_zero_nat @ ( suc @ Y3 ) )
       => ( ! [X3: nat,Y3: nat] :
              ( ( P @ X3 @ Y3 )
             => ( P @ ( suc @ X3 ) @ ( suc @ Y3 ) ) )
         => ( P @ M2 @ N ) ) ) ) ).

% diff_induct
thf(fact_77_nat__induct,axiom,
    ! [P: nat > $o,N: nat] :
      ( ( P @ zero_zero_nat )
     => ( ! [N2: nat] :
            ( ( P @ N2 )
           => ( P @ ( suc @ N2 ) ) )
       => ( P @ N ) ) ) ).

% nat_induct
thf(fact_78_nat_OdiscI,axiom,
    ! [Nat: nat,X2: nat] :
      ( ( Nat
        = ( suc @ X2 ) )
     => ( Nat != zero_zero_nat ) ) ).

% nat.discI
thf(fact_79_old_Onat_Odistinct_I1_J,axiom,
    ! [Nat2: nat] :
      ( zero_zero_nat
     != ( suc @ Nat2 ) ) ).

% old.nat.distinct(1)
thf(fact_80_old_Onat_Odistinct_I2_J,axiom,
    ! [Nat2: nat] :
      ( ( suc @ Nat2 )
     != zero_zero_nat ) ).

% old.nat.distinct(2)
thf(fact_81_nat_Odistinct_I1_J,axiom,
    ! [X2: nat] :
      ( zero_zero_nat
     != ( suc @ X2 ) ) ).

% nat.distinct(1)
thf(fact_82_prod__induct3,axiom,
    ! [P: produc410756839_state > $o,X: produc410756839_state] :
      ( ! [A3: produc2041926651_state,B3: list_com,C2: state] : ( P @ ( produc1909270103_state @ A3 @ ( produc1204172211_state @ B3 @ C2 ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_83_mem__Collect__eq,axiom,
    ! [A: produc1225889383_state,P: produc1225889383_state > $o] :
      ( ( member1267359376_state @ A @ ( collec183560402_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_84_mem__Collect__eq,axiom,
    ! [A: produc2041926651_state,P: produc2041926651_state > $o] :
      ( ( member64234660_state @ A @ ( collec1409185766_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_85_mem__Collect__eq,axiom,
    ! [A: produc258871771st_com,P: produc258871771st_com > $o] :
      ( ( member32358020st_com @ A @ ( collec328862150st_com @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_86_mem__Collect__eq,axiom,
    ! [A: produc1393453339_state,P: produc1393453339_state > $o] :
      ( ( member1442949316_state @ A @ ( collec924674566_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_87_mem__Collect__eq,axiom,
    ! [A: nat,P: nat > $o] :
      ( ( member_nat @ A @ ( collect_nat @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_88_mem__Collect__eq,axiom,
    ! [A: produc410756839_state,P: produc410756839_state > $o] :
      ( ( member1069318160_state @ A @ ( collec300063826_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_89_mem__Collect__eq,axiom,
    ! [A: state,P: state > $o] :
      ( ( member_state @ A @ ( collect_state @ P ) )
      = ( P @ A ) ) ).

% mem_Collect_eq
thf(fact_90_Collect__mem__eq,axiom,
    ! [A4: set_Pr1142642759_state] :
      ( ( collec183560402_state
        @ ^ [X4: produc1225889383_state] : ( member1267359376_state @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_91_Collect__mem__eq,axiom,
    ! [A4: set_Pr849496667_state] :
      ( ( collec1409185766_state
        @ ^ [X4: produc2041926651_state] : ( member64234660_state @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_92_Collect__mem__eq,axiom,
    ! [A4: set_Pr602326075st_com] :
      ( ( collec328862150st_com
        @ ^ [X4: produc258871771st_com] : ( member32358020st_com @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_93_Collect__mem__eq,axiom,
    ! [A4: set_Pr391631483_state] :
      ( ( collec924674566_state
        @ ^ [X4: produc1393453339_state] : ( member1442949316_state @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_94_Collect__mem__eq,axiom,
    ! [A4: set_nat] :
      ( ( collect_nat
        @ ^ [X4: nat] : ( member_nat @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_95_Collect__mem__eq,axiom,
    ! [A4: set_Pr1165141447_state] :
      ( ( collec300063826_state
        @ ^ [X4: produc410756839_state] : ( member1069318160_state @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_96_Collect__mem__eq,axiom,
    ! [A4: set_state] :
      ( ( collect_state
        @ ^ [X4: state] : ( member_state @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_97_Collect__cong,axiom,
    ! [P: state > $o,Q: state > $o] :
      ( ! [X3: state] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect_state @ P )
        = ( collect_state @ Q ) ) ) ).

% Collect_cong
thf(fact_98_Collect__cong,axiom,
    ! [P: produc410756839_state > $o,Q: produc410756839_state > $o] :
      ( ! [X3: produc410756839_state] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collec300063826_state @ P )
        = ( collec300063826_state @ Q ) ) ) ).

% Collect_cong
thf(fact_99_exec1_OSemi,axiom,
    ! [C1: com,C22: com,Cs: list_com,S: state] : ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( semi @ C1 @ C22 ) @ Cs ) @ S ) @ ( produc1204172211_state @ ( cons_com @ C1 @ ( cons_com @ C22 @ Cs ) ) @ S ) ) @ pHoare259243666_exec1 ) ).

% exec1.Semi
thf(fact_100_exec1E_I3_J,axiom,
    ! [C1: com,C22: com,Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( semi @ C1 @ C22 ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ~ ( ( Cs2
            = ( cons_com @ C1 @ ( cons_com @ C22 @ Cs ) ) )
         => ( S2 != S ) ) ) ).

% exec1E(3)
thf(fact_101_exec1_ODo,axiom,
    ! [T: state,F2: state > set_state,S: state,Cs: list_com] :
      ( ( member_state @ T @ ( F2 @ S ) )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( do @ F2 ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs @ T ) ) @ pHoare259243666_exec1 ) ) ).

% exec1.Do
thf(fact_102_exec1E_I2_J,axiom,
    ! [F2: state > set_state,Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( do @ F2 ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ~ ( ( Cs2 = Cs )
         => ~ ( member_state @ S2 @ ( F2 @ S ) ) ) ) ).

% exec1E(2)
thf(fact_103_exec1_OIfFalse,axiom,
    ! [B: state > $o,S: state,C1: com,C22: com,Cs: list_com] :
      ( ~ ( B @ S )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( cond @ B @ C1 @ C22 ) @ Cs ) @ S ) @ ( produc1204172211_state @ ( cons_com @ C22 @ Cs ) @ S ) ) @ pHoare259243666_exec1 ) ) ).

% exec1.IfFalse
thf(fact_104_exec1_OIfTrue,axiom,
    ! [B: state > $o,S: state,C1: com,C22: com,Cs: list_com] :
      ( ( B @ S )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( cond @ B @ C1 @ C22 ) @ Cs ) @ S ) @ ( produc1204172211_state @ ( cons_com @ C1 @ Cs ) @ S ) ) @ pHoare259243666_exec1 ) ) ).

% exec1.IfTrue
thf(fact_105_exec1E_I4_J,axiom,
    ! [B: state > $o,C1: com,C22: com,Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ ( cond @ B @ C1 @ C22 ) @ Cs ) @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ( ( ( Cs2
            = ( cons_com @ C1 @ Cs ) )
         => ( ( S2 = S )
           => ~ ( B @ S ) ) )
       => ~ ( ( Cs2
              = ( cons_com @ C22 @ Cs ) )
           => ( ( S2 = S )
             => ( B @ S ) ) ) ) ) ).

% exec1E(4)
thf(fact_106_gen__length__code_I2_J,axiom,
    ! [N: nat,X: list_com,Xs: list_list_com] :
      ( ( gen_length_list_com @ N @ ( cons_list_com @ X @ Xs ) )
      = ( gen_length_list_com @ ( suc @ N ) @ Xs ) ) ).

% gen_length_code(2)
thf(fact_107_gen__length__code_I2_J,axiom,
    ! [N: nat,X: produc2041926651_state,Xs: list_P1040014977_state] :
      ( ( gen_le1266608782_state @ N @ ( cons_P465369265_state @ X @ Xs ) )
      = ( gen_le1266608782_state @ ( suc @ N ) @ Xs ) ) ).

% gen_length_code(2)
thf(fact_108_gen__length__code_I2_J,axiom,
    ! [N: nat,X: state,Xs: list_state] :
      ( ( gen_length_state @ N @ ( cons_state @ X @ Xs ) )
      = ( gen_length_state @ ( suc @ N ) @ Xs ) ) ).

% gen_length_code(2)
thf(fact_109_gen__length__code_I2_J,axiom,
    ! [N: nat,X: com,Xs: list_com] :
      ( ( gen_length_com @ N @ ( cons_com @ X @ Xs ) )
      = ( gen_length_com @ ( suc @ N ) @ Xs ) ) ).

% gen_length_code(2)
thf(fact_110_com_Oinject_I3_J,axiom,
    ! [X31: state > $o,X32: com,X33: com,Y31: state > $o,Y32: com,Y33: com] :
      ( ( ( cond @ X31 @ X32 @ X33 )
        = ( cond @ Y31 @ Y32 @ Y33 ) )
      = ( ( X31 = Y31 )
        & ( X32 = Y32 )
        & ( X33 = Y33 ) ) ) ).

% com.inject(3)
thf(fact_111_com_Oinject_I1_J,axiom,
    ! [X1: state > set_state,Y1: state > set_state] :
      ( ( ( do @ X1 )
        = ( do @ Y1 ) )
      = ( X1 = Y1 ) ) ).

% com.inject(1)
thf(fact_112_com_Oinject_I2_J,axiom,
    ! [X21: com,X22: com,Y21: com,Y22: com] :
      ( ( ( semi @ X21 @ X22 )
        = ( semi @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) ).

% com.inject(2)
thf(fact_113_com_Odistinct_I11_J,axiom,
    ! [X21: com,X22: com,X31: state > $o,X32: com,X33: com] :
      ( ( semi @ X21 @ X22 )
     != ( cond @ X31 @ X32 @ X33 ) ) ).

% com.distinct(11)
thf(fact_114_com_Odistinct_I3_J,axiom,
    ! [X1: state > set_state,X31: state > $o,X32: com,X33: com] :
      ( ( do @ X1 )
     != ( cond @ X31 @ X32 @ X33 ) ) ).

% com.distinct(3)
thf(fact_115_com_Odistinct_I1_J,axiom,
    ! [X1: state > set_state,X21: com,X22: com] :
      ( ( do @ X1 )
     != ( semi @ X21 @ X22 ) ) ).

% com.distinct(1)
thf(fact_116_com_Odistinct_I19_J,axiom,
    ! [X31: state > $o,X32: com,X33: com,X41: state > $o,X42: com] :
      ( ( cond @ X31 @ X32 @ X33 )
     != ( while @ X41 @ X42 ) ) ).

% com.distinct(19)
thf(fact_117_com_Odistinct_I5_J,axiom,
    ! [X1: state > set_state,X41: state > $o,X42: com] :
      ( ( do @ X1 )
     != ( while @ X41 @ X42 ) ) ).

% com.distinct(5)
thf(fact_118_com_Odistinct_I13_J,axiom,
    ! [X21: com,X22: com,X41: state > $o,X42: com] :
      ( ( semi @ X21 @ X22 )
     != ( while @ X41 @ X42 ) ) ).

% com.distinct(13)
thf(fact_119_execs__pres__termis,axiom,
    ! [Cs: list_com,S: state,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Cs @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) )
     => ( ( pHoare806997636termis @ Cs @ S )
       => ( pHoare806997636termis @ Cs2 @ S2 ) ) ) ).

% execs_pres_termis
thf(fact_120_exec1p_OSemi,axiom,
    ! [C1: com,C22: com,Cs: list_com,S: state] : ( pHoare202237534exec1p @ ( cons_com @ ( semi @ C1 @ C22 ) @ Cs ) @ S @ ( cons_com @ C1 @ ( cons_com @ C22 @ Cs ) ) @ S ) ).

% exec1p.Semi
thf(fact_121_exec1p_ODo,axiom,
    ! [T: state,F2: state > set_state,S: state,Cs: list_com] :
      ( ( member_state @ T @ ( F2 @ S ) )
     => ( pHoare202237534exec1p @ ( cons_com @ ( do @ F2 ) @ Cs ) @ S @ Cs @ T ) ) ).

% exec1p.Do
thf(fact_122_exec1p_OIfTrue,axiom,
    ! [B: state > $o,S: state,C1: com,C22: com,Cs: list_com] :
      ( ( B @ S )
     => ( pHoare202237534exec1p @ ( cons_com @ ( cond @ B @ C1 @ C22 ) @ Cs ) @ S @ ( cons_com @ C1 @ Cs ) @ S ) ) ).

% exec1p.IfTrue
thf(fact_123_exec1p_OIfFalse,axiom,
    ! [B: state > $o,S: state,C1: com,C22: com,Cs: list_com] :
      ( ~ ( B @ S )
     => ( pHoare202237534exec1p @ ( cons_com @ ( cond @ B @ C1 @ C22 ) @ Cs ) @ S @ ( cons_com @ C22 @ Cs ) @ S ) ) ).

% exec1p.IfFalse
thf(fact_124_exec1p_OWhileTrue,axiom,
    ! [B: state > $o,S: state,C: com,Cs: list_com] :
      ( ( B @ S )
     => ( pHoare202237534exec1p @ ( cons_com @ ( while @ B @ C ) @ Cs ) @ S @ ( cons_com @ C @ ( cons_com @ ( while @ B @ C ) @ Cs ) ) @ S ) ) ).

% exec1p.WhileTrue
thf(fact_125_renumber__aux,axiom,
    ! [A: produc410756839_state,F2: nat > produc410756839_state,R: set_Pr2096893127_state,B: produc410756839_state] :
      ( ! [I2: nat] :
          ( ( member512523024_state @ ( produc2065881943_state @ A @ ( F2 @ I2 ) ) @ ( transi463013610_state @ R ) )
          & ( member512523024_state @ ( produc2065881943_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ( ( member512523024_state @ ( produc2065881943_state @ A @ B ) @ ( transi463013610_state @ R ) )
       => ( ( B
            = ( F2 @ zero_zero_nat ) )
         => ? [F3: nat > produc410756839_state] :
              ( ( ( F3 @ zero_zero_nat )
                = A )
              & ! [I3: nat] : ( member512523024_state @ ( produc2065881943_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% renumber_aux
thf(fact_126_renumber__aux,axiom,
    ! [A: list_com,F2: nat > list_com,R: set_Pr602326075st_com,B: list_com] :
      ( ! [I2: nat] :
          ( ( member32358020st_com @ ( produc1307105171st_com @ A @ ( F2 @ I2 ) ) @ ( transi436345274st_com @ R ) )
          & ( member32358020st_com @ ( produc1307105171st_com @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ A @ B ) @ ( transi436345274st_com @ R ) )
       => ( ( B
            = ( F2 @ zero_zero_nat ) )
         => ? [F3: nat > list_com] :
              ( ( ( F3 @ zero_zero_nat )
                = A )
              & ! [I3: nat] : ( member32358020st_com @ ( produc1307105171st_com @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% renumber_aux
thf(fact_127_renumber__aux,axiom,
    ! [A: list_P1040014977_state,F2: nat > list_P1040014977_state,R: set_Pr1142642759_state,B: list_P1040014977_state] :
      ( ! [I2: nat] :
          ( ( member1267359376_state @ ( produc1298457559_state @ A @ ( F2 @ I2 ) ) @ ( transi339813252_state @ R ) )
          & ( member1267359376_state @ ( produc1298457559_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ( ( member1267359376_state @ ( produc1298457559_state @ A @ B ) @ ( transi339813252_state @ R ) )
       => ( ( B
            = ( F2 @ zero_zero_nat ) )
         => ? [F3: nat > list_P1040014977_state] :
              ( ( ( F3 @ zero_zero_nat )
                = A )
              & ! [I3: nat] : ( member1267359376_state @ ( produc1298457559_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% renumber_aux
thf(fact_128_renumber__aux,axiom,
    ! [A: com,F2: nat > com,R: set_Pr1822651163om_com,B: com] :
      ( ! [I2: nat] :
          ( ( member1333916004om_com @ ( product_Pair_com_com @ A @ ( F2 @ I2 ) ) @ ( transi863150634cl_com @ R ) )
          & ( member1333916004om_com @ ( product_Pair_com_com @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ( ( member1333916004om_com @ ( product_Pair_com_com @ A @ B ) @ ( transi863150634cl_com @ R ) )
       => ( ( B
            = ( F2 @ zero_zero_nat ) )
         => ? [F3: nat > com] :
              ( ( ( F3 @ zero_zero_nat )
                = A )
              & ! [I3: nat] : ( member1333916004om_com @ ( product_Pair_com_com @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% renumber_aux
thf(fact_129_renumber__aux,axiom,
    ! [A: produc2041926651_state,F2: nat > produc2041926651_state,R: set_Pr1165141447_state,B: produc2041926651_state] :
      ( ! [I2: nat] :
          ( ( member1069318160_state @ ( produc1909270103_state @ A @ ( F2 @ I2 ) ) @ ( transi1302705790_state @ R ) )
          & ( member1069318160_state @ ( produc1909270103_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ ( transi1302705790_state @ R ) )
       => ( ( B
            = ( F2 @ zero_zero_nat ) )
         => ? [F3: nat > produc2041926651_state] :
              ( ( ( F3 @ zero_zero_nat )
                = A )
              & ! [I3: nat] : ( member1069318160_state @ ( produc1909270103_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ) ) ).

% renumber_aux
thf(fact_130_renumber,axiom,
    ! [A: produc410756839_state,F2: nat > produc410756839_state,R: set_Pr2096893127_state] :
      ( ! [I2: nat] :
          ( ( member512523024_state @ ( produc2065881943_state @ A @ ( F2 @ I2 ) ) @ ( transi463013610_state @ R ) )
          & ( member512523024_state @ ( produc2065881943_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ? [F3: nat > produc410756839_state] :
          ( ( ( F3 @ zero_zero_nat )
            = A )
          & ! [I3: nat] : ( member512523024_state @ ( produc2065881943_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ).

% renumber
thf(fact_131_renumber,axiom,
    ! [A: list_com,F2: nat > list_com,R: set_Pr602326075st_com] :
      ( ! [I2: nat] :
          ( ( member32358020st_com @ ( produc1307105171st_com @ A @ ( F2 @ I2 ) ) @ ( transi436345274st_com @ R ) )
          & ( member32358020st_com @ ( produc1307105171st_com @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ? [F3: nat > list_com] :
          ( ( ( F3 @ zero_zero_nat )
            = A )
          & ! [I3: nat] : ( member32358020st_com @ ( produc1307105171st_com @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ).

% renumber
thf(fact_132_renumber,axiom,
    ! [A: list_P1040014977_state,F2: nat > list_P1040014977_state,R: set_Pr1142642759_state] :
      ( ! [I2: nat] :
          ( ( member1267359376_state @ ( produc1298457559_state @ A @ ( F2 @ I2 ) ) @ ( transi339813252_state @ R ) )
          & ( member1267359376_state @ ( produc1298457559_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ? [F3: nat > list_P1040014977_state] :
          ( ( ( F3 @ zero_zero_nat )
            = A )
          & ! [I3: nat] : ( member1267359376_state @ ( produc1298457559_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ).

% renumber
thf(fact_133_renumber,axiom,
    ! [A: com,F2: nat > com,R: set_Pr1822651163om_com] :
      ( ! [I2: nat] :
          ( ( member1333916004om_com @ ( product_Pair_com_com @ A @ ( F2 @ I2 ) ) @ ( transi863150634cl_com @ R ) )
          & ( member1333916004om_com @ ( product_Pair_com_com @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ? [F3: nat > com] :
          ( ( ( F3 @ zero_zero_nat )
            = A )
          & ! [I3: nat] : ( member1333916004om_com @ ( product_Pair_com_com @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ).

% renumber
thf(fact_134_renumber,axiom,
    ! [A: produc2041926651_state,F2: nat > produc2041926651_state,R: set_Pr1165141447_state] :
      ( ! [I2: nat] :
          ( ( member1069318160_state @ ( produc1909270103_state @ A @ ( F2 @ I2 ) ) @ ( transi1302705790_state @ R ) )
          & ( member1069318160_state @ ( produc1909270103_state @ ( F2 @ I2 ) @ ( F2 @ ( suc @ I2 ) ) ) @ R ) )
     => ? [F3: nat > produc2041926651_state] :
          ( ( ( F3 @ zero_zero_nat )
            = A )
          & ! [I3: nat] : ( member1069318160_state @ ( produc1909270103_state @ ( F3 @ I3 ) @ ( F3 @ ( suc @ I3 ) ) ) @ R ) ) ) ).

% renumber
thf(fact_135_exec1p_OWhileFalse,axiom,
    ! [B: state > $o,S: state,C: com,Cs: list_com] :
      ( ~ ( B @ S )
     => ( pHoare202237534exec1p @ ( cons_com @ ( while @ B @ C ) @ Cs ) @ S @ Cs @ S ) ) ).

% exec1p.WhileFalse
thf(fact_136_converse__rtrancl__induct2,axiom,
    ! [Ax: com,Ay: com,Bx: com,By: com,R: set_Pr1675528647om_com,P: com > com > $o] :
      ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Ax @ Ay ) @ ( product_Pair_com_com @ Bx @ By ) ) @ ( transi1042416958om_com @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: com,B3: com,Aa: com,Ba: com] :
              ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ A3 @ B3 ) @ ( product_Pair_com_com @ Aa @ Ba ) ) @ R )
             => ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Aa @ Ba ) @ ( product_Pair_com_com @ Bx @ By ) ) @ ( transi1042416958om_com @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_137_converse__rtrancl__induct2,axiom,
    ! [Ax: list_P1040014977_state,Ay: list_P1040014977_state,Bx: list_P1040014977_state,By: list_P1040014977_state,R: set_Pr1847866567_state,P: list_P1040014977_state > list_P1040014977_state > $o] :
      ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Ax @ Ay ) @ ( produc1298457559_state @ Bx @ By ) ) @ ( transi1428749162_state @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: list_P1040014977_state,B3: list_P1040014977_state,Aa: list_P1040014977_state,Ba: list_P1040014977_state] :
              ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ A3 @ B3 ) @ ( produc1298457559_state @ Aa @ Ba ) ) @ R )
             => ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Aa @ Ba ) @ ( produc1298457559_state @ Bx @ By ) ) @ ( transi1428749162_state @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_138_converse__rtrancl__induct2,axiom,
    ! [Ax: list_com,Ay: list_com,Bx: list_com,By: list_com,R: set_Pr2083163591st_com,P: list_com > list_com > $o] :
      ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Ax @ Ay ) @ ( produc1307105171st_com @ Bx @ By ) ) @ ( transi1782245470st_com @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: list_com,B3: list_com,Aa: list_com,Ba: list_com] :
              ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ A3 @ B3 ) @ ( produc1307105171st_com @ Aa @ Ba ) ) @ R )
             => ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Aa @ Ba ) @ ( produc1307105171st_com @ Bx @ By ) ) @ ( transi1782245470st_com @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_139_converse__rtrancl__induct2,axiom,
    ! [Ax: list_list_com,Ay: list_state,Bx: list_list_com,By: list_state,R: set_Pr1419004359_state,P: list_list_com > list_state > $o] :
      ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Ax @ Ay ) @ ( produc1742567891_state @ Bx @ By ) ) @ ( transi89280670_state @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: list_list_com,B3: list_state,Aa: list_list_com,Ba: list_state] :
              ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ A3 @ B3 ) @ ( produc1742567891_state @ Aa @ Ba ) ) @ R )
             => ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Aa @ Ba ) @ ( produc1742567891_state @ Bx @ By ) ) @ ( transi89280670_state @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_140_converse__rtrancl__induct2,axiom,
    ! [Ax: com > com > $o,Ay: list_com,Bx: com > com > $o,By: list_com,R: set_Pr135335153st_com,P: ( com > com > $o ) > list_com > $o] :
      ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Ax @ Ay ) @ ( produc1914379986st_com @ Bx @ By ) ) @ ( transi1592315797st_com @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: com > com > $o,B3: list_com,Aa: com > com > $o,Ba: list_com] :
              ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ A3 @ B3 ) @ ( produc1914379986st_com @ Aa @ Ba ) ) @ R )
             => ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Aa @ Ba ) @ ( produc1914379986st_com @ Bx @ By ) ) @ ( transi1592315797st_com @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_141_converse__rtrancl__induct2,axiom,
    ! [Ax: produc2041926651_state,Ay: produc2041926651_state,Bx: produc2041926651_state,By: produc2041926651_state,R: set_Pr2096893127_state,P: produc2041926651_state > produc2041926651_state > $o] :
      ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Ax @ Ay ) @ ( produc1909270103_state @ Bx @ By ) ) @ ( transi463013610_state @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: produc2041926651_state,B3: produc2041926651_state,Aa: produc2041926651_state,Ba: produc2041926651_state] :
              ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ A3 @ B3 ) @ ( produc1909270103_state @ Aa @ Ba ) ) @ R )
             => ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Aa @ Ba ) @ ( produc1909270103_state @ Bx @ By ) ) @ ( transi463013610_state @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_142_converse__rtrancl__induct2,axiom,
    ! [Ax: list_com,Ay: state,Bx: list_com,By: state,R: set_Pr1165141447_state,P: list_com > state > $o] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Ax @ Ay ) @ ( produc1204172211_state @ Bx @ By ) ) @ ( transi1302705790_state @ R ) )
     => ( ( P @ Bx @ By )
       => ( ! [A3: list_com,B3: state,Aa: list_com,Ba: state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ A3 @ B3 ) @ ( produc1204172211_state @ Aa @ Ba ) ) @ R )
             => ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Aa @ Ba ) @ ( produc1204172211_state @ Bx @ By ) ) @ ( transi1302705790_state @ R ) )
               => ( ( P @ Aa @ Ba )
                 => ( P @ A3 @ B3 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) ).

% converse_rtrancl_induct2
thf(fact_143_converse__rtranclE2,axiom,
    ! [Xa: com,Xb: com,Za: com,Zb: com,R: set_Pr1675528647om_com] :
      ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Xa @ Xb ) @ ( product_Pair_com_com @ Za @ Zb ) ) @ ( transi1042416958om_com @ R ) )
     => ( ( ( product_Pair_com_com @ Xa @ Xb )
         != ( product_Pair_com_com @ Za @ Zb ) )
       => ~ ! [A3: com,B3: com] :
              ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Xa @ Xb ) @ ( product_Pair_com_com @ A3 @ B3 ) ) @ R )
             => ~ ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ A3 @ B3 ) @ ( product_Pair_com_com @ Za @ Zb ) ) @ ( transi1042416958om_com @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_144_converse__rtranclE2,axiom,
    ! [Xa: list_P1040014977_state,Xb: list_P1040014977_state,Za: list_P1040014977_state,Zb: list_P1040014977_state,R: set_Pr1847866567_state] :
      ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Xa @ Xb ) @ ( produc1298457559_state @ Za @ Zb ) ) @ ( transi1428749162_state @ R ) )
     => ( ( ( produc1298457559_state @ Xa @ Xb )
         != ( produc1298457559_state @ Za @ Zb ) )
       => ~ ! [A3: list_P1040014977_state,B3: list_P1040014977_state] :
              ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Xa @ Xb ) @ ( produc1298457559_state @ A3 @ B3 ) ) @ R )
             => ~ ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ A3 @ B3 ) @ ( produc1298457559_state @ Za @ Zb ) ) @ ( transi1428749162_state @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_145_converse__rtranclE2,axiom,
    ! [Xa: list_com,Xb: list_com,Za: list_com,Zb: list_com,R: set_Pr2083163591st_com] :
      ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Xa @ Xb ) @ ( produc1307105171st_com @ Za @ Zb ) ) @ ( transi1782245470st_com @ R ) )
     => ( ( ( produc1307105171st_com @ Xa @ Xb )
         != ( produc1307105171st_com @ Za @ Zb ) )
       => ~ ! [A3: list_com,B3: list_com] :
              ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Xa @ Xb ) @ ( produc1307105171st_com @ A3 @ B3 ) ) @ R )
             => ~ ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ A3 @ B3 ) @ ( produc1307105171st_com @ Za @ Zb ) ) @ ( transi1782245470st_com @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_146_converse__rtranclE2,axiom,
    ! [Xa: list_list_com,Xb: list_state,Za: list_list_com,Zb: list_state,R: set_Pr1419004359_state] :
      ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Xa @ Xb ) @ ( produc1742567891_state @ Za @ Zb ) ) @ ( transi89280670_state @ R ) )
     => ( ( ( produc1742567891_state @ Xa @ Xb )
         != ( produc1742567891_state @ Za @ Zb ) )
       => ~ ! [A3: list_list_com,B3: list_state] :
              ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Xa @ Xb ) @ ( produc1742567891_state @ A3 @ B3 ) ) @ R )
             => ~ ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ A3 @ B3 ) @ ( produc1742567891_state @ Za @ Zb ) ) @ ( transi89280670_state @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_147_converse__rtranclE2,axiom,
    ! [Xa: com > com > $o,Xb: list_com,Za: com > com > $o,Zb: list_com,R: set_Pr135335153st_com] :
      ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Xa @ Xb ) @ ( produc1914379986st_com @ Za @ Zb ) ) @ ( transi1592315797st_com @ R ) )
     => ( ( ( produc1914379986st_com @ Xa @ Xb )
         != ( produc1914379986st_com @ Za @ Zb ) )
       => ~ ! [A3: com > com > $o,B3: list_com] :
              ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Xa @ Xb ) @ ( produc1914379986st_com @ A3 @ B3 ) ) @ R )
             => ~ ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ A3 @ B3 ) @ ( produc1914379986st_com @ Za @ Zb ) ) @ ( transi1592315797st_com @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_148_converse__rtranclE2,axiom,
    ! [Xa: produc2041926651_state,Xb: produc2041926651_state,Za: produc2041926651_state,Zb: produc2041926651_state,R: set_Pr2096893127_state] :
      ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Xa @ Xb ) @ ( produc1909270103_state @ Za @ Zb ) ) @ ( transi463013610_state @ R ) )
     => ( ( ( produc1909270103_state @ Xa @ Xb )
         != ( produc1909270103_state @ Za @ Zb ) )
       => ~ ! [A3: produc2041926651_state,B3: produc2041926651_state] :
              ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Xa @ Xb ) @ ( produc1909270103_state @ A3 @ B3 ) ) @ R )
             => ~ ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ A3 @ B3 ) @ ( produc1909270103_state @ Za @ Zb ) ) @ ( transi463013610_state @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_149_converse__rtranclE2,axiom,
    ! [Xa: list_com,Xb: state,Za: list_com,Zb: state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Xa @ Xb ) @ ( produc1204172211_state @ Za @ Zb ) ) @ ( transi1302705790_state @ R ) )
     => ( ( ( produc1204172211_state @ Xa @ Xb )
         != ( produc1204172211_state @ Za @ Zb ) )
       => ~ ! [A3: list_com,B3: state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Xa @ Xb ) @ ( produc1204172211_state @ A3 @ B3 ) ) @ R )
             => ~ ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ A3 @ B3 ) @ ( produc1204172211_state @ Za @ Zb ) ) @ ( transi1302705790_state @ R ) ) ) ) ) ).

% converse_rtranclE2
thf(fact_150_rtrancl__induct2,axiom,
    ! [Ax: com,Ay: com,Bx: com,By: com,R: set_Pr1675528647om_com,P: com > com > $o] :
      ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Ax @ Ay ) @ ( product_Pair_com_com @ Bx @ By ) ) @ ( transi1042416958om_com @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: com,B3: com,Aa: com,Ba: com] :
              ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ Ax @ Ay ) @ ( product_Pair_com_com @ A3 @ B3 ) ) @ ( transi1042416958om_com @ R ) )
             => ( ( member2105207824om_com @ ( produc1140939351om_com @ ( product_Pair_com_com @ A3 @ B3 ) @ ( product_Pair_com_com @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_151_rtrancl__induct2,axiom,
    ! [Ax: list_P1040014977_state,Ay: list_P1040014977_state,Bx: list_P1040014977_state,By: list_P1040014977_state,R: set_Pr1847866567_state,P: list_P1040014977_state > list_P1040014977_state > $o] :
      ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Ax @ Ay ) @ ( produc1298457559_state @ Bx @ By ) ) @ ( transi1428749162_state @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: list_P1040014977_state,B3: list_P1040014977_state,Aa: list_P1040014977_state,Ba: list_P1040014977_state] :
              ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ Ax @ Ay ) @ ( produc1298457559_state @ A3 @ B3 ) ) @ ( transi1428749162_state @ R ) )
             => ( ( member2092727056_state @ ( produc984060759_state @ ( produc1298457559_state @ A3 @ B3 ) @ ( produc1298457559_state @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_152_rtrancl__induct2,axiom,
    ! [Ax: list_com,Ay: list_com,Bx: list_com,By: list_com,R: set_Pr2083163591st_com,P: list_com > list_com > $o] :
      ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Ax @ Ay ) @ ( produc1307105171st_com @ Bx @ By ) ) @ ( transi1782245470st_com @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: list_com,B3: list_com,Aa: list_com,Ba: list_com] :
              ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ Ax @ Ay ) @ ( produc1307105171st_com @ A3 @ B3 ) ) @ ( transi1782245470st_com @ R ) )
             => ( ( member919914512st_com @ ( produc313736791st_com @ ( produc1307105171st_com @ A3 @ B3 ) @ ( produc1307105171st_com @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_153_rtrancl__induct2,axiom,
    ! [Ax: list_list_com,Ay: list_state,Bx: list_list_com,By: list_state,R: set_Pr1419004359_state,P: list_list_com > list_state > $o] :
      ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Ax @ Ay ) @ ( produc1742567891_state @ Bx @ By ) ) @ ( transi89280670_state @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: list_list_com,B3: list_state,Aa: list_list_com,Ba: list_state] :
              ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ Ax @ Ay ) @ ( produc1742567891_state @ A3 @ B3 ) ) @ ( transi89280670_state @ R ) )
             => ( ( member1414265872_state @ ( produc67381847_state @ ( produc1742567891_state @ A3 @ B3 ) @ ( produc1742567891_state @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_154_rtrancl__induct2,axiom,
    ! [Ax: com > com > $o,Ay: list_com,Bx: com > com > $o,By: list_com,R: set_Pr135335153st_com,P: ( com > com > $o ) > list_com > $o] :
      ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Ax @ Ay ) @ ( produc1914379986st_com @ Bx @ By ) ) @ ( transi1592315797st_com @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: com > com > $o,B3: list_com,Aa: com > com > $o,Ba: list_com] :
              ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ Ax @ Ay ) @ ( produc1914379986st_com @ A3 @ B3 ) ) @ ( transi1592315797st_com @ R ) )
             => ( ( member89779770st_com @ ( produc67337417st_com @ ( produc1914379986st_com @ A3 @ B3 ) @ ( produc1914379986st_com @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_155_rtrancl__induct2,axiom,
    ! [Ax: produc2041926651_state,Ay: produc2041926651_state,Bx: produc2041926651_state,By: produc2041926651_state,R: set_Pr2096893127_state,P: produc2041926651_state > produc2041926651_state > $o] :
      ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Ax @ Ay ) @ ( produc1909270103_state @ Bx @ By ) ) @ ( transi463013610_state @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: produc2041926651_state,B3: produc2041926651_state,Aa: produc2041926651_state,Ba: produc2041926651_state] :
              ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ Ax @ Ay ) @ ( produc1909270103_state @ A3 @ B3 ) ) @ ( transi463013610_state @ R ) )
             => ( ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ A3 @ B3 ) @ ( produc1909270103_state @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_156_rtrancl__induct2,axiom,
    ! [Ax: list_com,Ay: state,Bx: list_com,By: state,R: set_Pr1165141447_state,P: list_com > state > $o] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Ax @ Ay ) @ ( produc1204172211_state @ Bx @ By ) ) @ ( transi1302705790_state @ R ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A3: list_com,B3: state,Aa: list_com,Ba: state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Ax @ Ay ) @ ( produc1204172211_state @ A3 @ B3 ) ) @ ( transi1302705790_state @ R ) )
             => ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ A3 @ B3 ) @ ( produc1204172211_state @ Aa @ Ba ) ) @ R )
               => ( ( P @ A3 @ B3 )
                 => ( P @ Aa @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) ).

% rtrancl_induct2
thf(fact_157_rtrancl__idemp,axiom,
    ! [R: set_Pr2096893127_state] :
      ( ( transi463013610_state @ ( transi463013610_state @ R ) )
      = ( transi463013610_state @ R ) ) ).

% rtrancl_idemp
thf(fact_158_rtrancl__idemp,axiom,
    ! [R: set_Pr602326075st_com] :
      ( ( transi436345274st_com @ ( transi436345274st_com @ R ) )
      = ( transi436345274st_com @ R ) ) ).

% rtrancl_idemp
thf(fact_159_rtrancl__idemp,axiom,
    ! [R: set_Pr1142642759_state] :
      ( ( transi339813252_state @ ( transi339813252_state @ R ) )
      = ( transi339813252_state @ R ) ) ).

% rtrancl_idemp
thf(fact_160_rtrancl__idemp,axiom,
    ! [R: set_Pr1822651163om_com] :
      ( ( transi863150634cl_com @ ( transi863150634cl_com @ R ) )
      = ( transi863150634cl_com @ R ) ) ).

% rtrancl_idemp
thf(fact_161_rtrancl__idemp,axiom,
    ! [R: set_Pr1165141447_state] :
      ( ( transi1302705790_state @ ( transi1302705790_state @ R ) )
      = ( transi1302705790_state @ R ) ) ).

% rtrancl_idemp
thf(fact_162_r__into__rtrancl,axiom,
    ! [P2: produc186437863_state,R: set_Pr2096893127_state] :
      ( ( member512523024_state @ P2 @ R )
     => ( member512523024_state @ P2 @ ( transi463013610_state @ R ) ) ) ).

% r_into_rtrancl
thf(fact_163_r__into__rtrancl,axiom,
    ! [P2: produc258871771st_com,R: set_Pr602326075st_com] :
      ( ( member32358020st_com @ P2 @ R )
     => ( member32358020st_com @ P2 @ ( transi436345274st_com @ R ) ) ) ).

% r_into_rtrancl
thf(fact_164_r__into__rtrancl,axiom,
    ! [P2: produc1225889383_state,R: set_Pr1142642759_state] :
      ( ( member1267359376_state @ P2 @ R )
     => ( member1267359376_state @ P2 @ ( transi339813252_state @ R ) ) ) ).

% r_into_rtrancl
thf(fact_165_r__into__rtrancl,axiom,
    ! [P2: product_prod_com_com,R: set_Pr1822651163om_com] :
      ( ( member1333916004om_com @ P2 @ R )
     => ( member1333916004om_com @ P2 @ ( transi863150634cl_com @ R ) ) ) ).

% r_into_rtrancl
thf(fact_166_r__into__rtrancl,axiom,
    ! [P2: produc410756839_state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ P2 @ R )
     => ( member1069318160_state @ P2 @ ( transi1302705790_state @ R ) ) ) ).

% r_into_rtrancl
thf(fact_167_exec__impl__execs,axiom,
    ! [S: state,C: com,S2: state,Cs: list_com] :
      ( ( exec @ S @ C @ S2 )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ C @ Cs ) @ S ) @ ( produc1204172211_state @ Cs @ S2 ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) ) ) ).

% exec_impl_execs
thf(fact_168_exec_OWhileTrue,axiom,
    ! [B: state > $o,S: state,C: com,T: state,U: state] :
      ( ( B @ S )
     => ( ( exec @ S @ C @ T )
       => ( ( exec @ T @ ( while @ B @ C ) @ U )
         => ( exec @ S @ ( while @ B @ C ) @ U ) ) ) ) ).

% exec.WhileTrue
thf(fact_169_exec_OWhileFalse,axiom,
    ! [B: state > $o,S: state,C: com] :
      ( ~ ( B @ S )
     => ( exec @ S @ ( while @ B @ C ) @ S ) ) ).

% exec.WhileFalse
thf(fact_170_exec_OIfTrue,axiom,
    ! [B: state > $o,S: state,C1: com,T: state,C22: com] :
      ( ( B @ S )
     => ( ( exec @ S @ C1 @ T )
       => ( exec @ S @ ( cond @ B @ C1 @ C22 ) @ T ) ) ) ).

% exec.IfTrue
thf(fact_171_exec_OIfFalse,axiom,
    ! [B: state > $o,S: state,C22: com,T: state,C1: com] :
      ( ~ ( B @ S )
     => ( ( exec @ S @ C22 @ T )
       => ( exec @ S @ ( cond @ B @ C1 @ C22 ) @ T ) ) ) ).

% exec.IfFalse
thf(fact_172_exec_ODo,axiom,
    ! [T: state,F2: state > set_state,S: state] :
      ( ( member_state @ T @ ( F2 @ S ) )
     => ( exec @ S @ ( do @ F2 ) @ T ) ) ).

% exec.Do
thf(fact_173_exec_OSemi,axiom,
    ! [S0: state,C1: com,S1: state,C22: com,S22: state] :
      ( ( exec @ S0 @ C1 @ S1 )
     => ( ( exec @ S1 @ C22 @ S22 )
       => ( exec @ S0 @ ( semi @ C1 @ C22 ) @ S22 ) ) ) ).

% exec.Semi
thf(fact_174_converse__rtrancl__into__rtrancl,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state,C: produc2041926651_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ R )
     => ( ( member1069318160_state @ ( produc1909270103_state @ B @ C ) @ ( transi1302705790_state @ R ) )
       => ( member1069318160_state @ ( produc1909270103_state @ A @ C ) @ ( transi1302705790_state @ R ) ) ) ) ).

% converse_rtrancl_into_rtrancl
thf(fact_175_rtrancl_Ortrancl__into__rtrancl,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state,C: produc2041926651_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ ( transi1302705790_state @ R ) )
     => ( ( member1069318160_state @ ( produc1909270103_state @ B @ C ) @ R )
       => ( member1069318160_state @ ( produc1909270103_state @ A @ C ) @ ( transi1302705790_state @ R ) ) ) ) ).

% rtrancl.rtrancl_into_rtrancl
thf(fact_176_converse__rtrancl__induct,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state,P: produc2041926651_state > $o] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ ( transi1302705790_state @ R ) )
     => ( ( P @ B )
       => ( ! [Y3: produc2041926651_state,Z: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ Y3 @ Z ) @ R )
             => ( ( member1069318160_state @ ( produc1909270103_state @ Z @ B ) @ ( transi1302705790_state @ R ) )
               => ( ( P @ Z )
                 => ( P @ Y3 ) ) ) )
         => ( P @ A ) ) ) ) ).

% converse_rtrancl_induct
thf(fact_177_rtrancl_Ortrancl__refl,axiom,
    ! [A: produc2041926651_state,R: set_Pr1165141447_state] : ( member1069318160_state @ ( produc1909270103_state @ A @ A ) @ ( transi1302705790_state @ R ) ) ).

% rtrancl.rtrancl_refl
thf(fact_178_converse__rtranclE,axiom,
    ! [X: produc2041926651_state,Z2: produc2041926651_state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Z2 ) @ ( transi1302705790_state @ R ) )
     => ( ( X != Z2 )
       => ~ ! [Y3: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y3 ) @ R )
             => ~ ( member1069318160_state @ ( produc1909270103_state @ Y3 @ Z2 ) @ ( transi1302705790_state @ R ) ) ) ) ) ).

% converse_rtranclE
thf(fact_179_rtrancl_Oinducts,axiom,
    ! [X1: produc2041926651_state,X2: produc2041926651_state,R: set_Pr1165141447_state,P: produc2041926651_state > produc2041926651_state > $o] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X1 @ X2 ) @ ( transi1302705790_state @ R ) )
     => ( ! [A3: produc2041926651_state] : ( P @ A3 @ A3 )
       => ( ! [A3: produc2041926651_state,B3: produc2041926651_state,C2: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ A3 @ B3 ) @ ( transi1302705790_state @ R ) )
             => ( ( P @ A3 @ B3 )
               => ( ( member1069318160_state @ ( produc1909270103_state @ B3 @ C2 ) @ R )
                 => ( P @ A3 @ C2 ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) ).

% rtrancl.inducts
thf(fact_180_rtrancl__induct,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state,P: produc2041926651_state > $o] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ ( transi1302705790_state @ R ) )
     => ( ( P @ A )
       => ( ! [Y3: produc2041926651_state,Z: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ A @ Y3 ) @ ( transi1302705790_state @ R ) )
             => ( ( member1069318160_state @ ( produc1909270103_state @ Y3 @ Z ) @ R )
               => ( ( P @ Y3 )
                 => ( P @ Z ) ) ) )
         => ( P @ B ) ) ) ) ).

% rtrancl_induct
thf(fact_181_rtrancl__trans,axiom,
    ! [X: produc2041926651_state,Y: produc2041926651_state,R: set_Pr1165141447_state,Z2: produc2041926651_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ ( transi1302705790_state @ R ) )
     => ( ( member1069318160_state @ ( produc1909270103_state @ Y @ Z2 ) @ ( transi1302705790_state @ R ) )
       => ( member1069318160_state @ ( produc1909270103_state @ X @ Z2 ) @ ( transi1302705790_state @ R ) ) ) ) ).

% rtrancl_trans
thf(fact_182_rtrancl_Osimps,axiom,
    ! [A1: produc2041926651_state,A22: produc2041926651_state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A1 @ A22 ) @ ( transi1302705790_state @ R ) )
      = ( ? [A5: produc2041926651_state] :
            ( ( A1 = A5 )
            & ( A22 = A5 ) )
        | ? [A5: produc2041926651_state,B4: produc2041926651_state,C3: produc2041926651_state] :
            ( ( A1 = A5 )
            & ( A22 = C3 )
            & ( member1069318160_state @ ( produc1909270103_state @ A5 @ B4 ) @ ( transi1302705790_state @ R ) )
            & ( member1069318160_state @ ( produc1909270103_state @ B4 @ C3 ) @ R ) ) ) ) ).

% rtrancl.simps
thf(fact_183_rtrancl_Ocases,axiom,
    ! [A1: produc2041926651_state,A22: produc2041926651_state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A1 @ A22 ) @ ( transi1302705790_state @ R ) )
     => ( ( A22 != A1 )
       => ~ ! [B3: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ A1 @ B3 ) @ ( transi1302705790_state @ R ) )
             => ~ ( member1069318160_state @ ( produc1909270103_state @ B3 @ A22 ) @ R ) ) ) ) ).

% rtrancl.cases
thf(fact_184_rtranclE,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ ( transi1302705790_state @ R ) )
     => ( ( A != B )
       => ~ ! [Y3: produc2041926651_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ A @ Y3 ) @ ( transi1302705790_state @ R ) )
             => ~ ( member1069318160_state @ ( produc1909270103_state @ Y3 @ B ) @ R ) ) ) ) ).

% rtranclE
thf(fact_185_exec1s__impl__exec,axiom,
    ! [C: com,S: state,T: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ C @ nil_com ) @ S ) @ ( produc1204172211_state @ nil_com @ T ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) )
     => ( exec @ S @ C @ T ) ) ).

% exec1s_impl_exec
thf(fact_186_app__execs,axiom,
    ! [Cs: list_com,S: state,Cs2: list_com,S2: state,Cs22: list_com] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Cs @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( append_com @ Cs @ Cs22 ) @ S ) @ ( produc1204172211_state @ ( append_com @ Cs2 @ Cs22 ) @ S2 ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) ) ) ).

% app_execs
thf(fact_187_termis_Osimps_I2_J,axiom,
    ! [C: com,Cs: list_com,S: state] :
      ( ( pHoare806997636termis @ ( cons_com @ C @ Cs ) @ S )
      = ( ( termi @ C @ S )
        & ! [T2: state] :
            ( ( exec @ S @ C @ T2 )
           => ( pHoare806997636termis @ Cs @ T2 ) ) ) ) ).

% termis.simps(2)
thf(fact_188_execs_Ointros_I2_J,axiom,
    ! [S: state,C: com,T: state,Cs: list_com,U: state] :
      ( ( exec @ S @ C @ T )
     => ( ( pHoare259243732_execs @ T @ Cs @ U )
       => ( pHoare259243732_execs @ S @ ( cons_com @ C @ Cs ) @ U ) ) ) ).

% execs.intros(2)
thf(fact_189_same__fstI,axiom,
    ! [P: list_com > $o,X: list_com,Y4: state,Y: state,R2: list_com > set_Pr795498619_state] :
      ( ( P @ X )
     => ( ( member1389040324_state @ ( produc64584659_state @ Y4 @ Y ) @ ( R2 @ X ) )
       => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ X @ Y4 ) @ ( produc1204172211_state @ X @ Y ) ) @ ( same_f855297288_state @ P @ R2 ) ) ) ) ).

% same_fstI
thf(fact_190_same__fstI,axiom,
    ! [P: produc2041926651_state > $o,X: produc2041926651_state,Y4: produc2041926651_state,Y: produc2041926651_state,R2: produc2041926651_state > set_Pr1165141447_state] :
      ( ( P @ X )
     => ( ( member1069318160_state @ ( produc1909270103_state @ Y4 @ Y ) @ ( R2 @ X ) )
       => ( member512523024_state @ ( produc2065881943_state @ ( produc1909270103_state @ X @ Y4 ) @ ( produc1909270103_state @ X @ Y ) ) @ ( same_f1258458156_state @ P @ R2 ) ) ) ) ).

% same_fstI
thf(fact_191_same__append__eq,axiom,
    ! [Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ( ( append_com @ Xs @ Ys )
        = ( append_com @ Xs @ Zs ) )
      = ( Ys = Zs ) ) ).

% same_append_eq
thf(fact_192_append__same__eq,axiom,
    ! [Ys: list_com,Xs: list_com,Zs: list_com] :
      ( ( ( append_com @ Ys @ Xs )
        = ( append_com @ Zs @ Xs ) )
      = ( Ys = Zs ) ) ).

% append_same_eq
thf(fact_193_append__assoc,axiom,
    ! [Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ( append_com @ ( append_com @ Xs @ Ys ) @ Zs )
      = ( append_com @ Xs @ ( append_com @ Ys @ Zs ) ) ) ).

% append_assoc
thf(fact_194_append_Oassoc,axiom,
    ! [A: list_com,B: list_com,C: list_com] :
      ( ( append_com @ ( append_com @ A @ B ) @ C )
      = ( append_com @ A @ ( append_com @ B @ C ) ) ) ).

% append.assoc
thf(fact_195_append_Oright__neutral,axiom,
    ! [A: list_com] :
      ( ( append_com @ A @ nil_com )
      = A ) ).

% append.right_neutral
thf(fact_196_append__is__Nil__conv,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( ( append_com @ Xs @ Ys )
        = nil_com )
      = ( ( Xs = nil_com )
        & ( Ys = nil_com ) ) ) ).

% append_is_Nil_conv
thf(fact_197_Nil__is__append__conv,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( nil_com
        = ( append_com @ Xs @ Ys ) )
      = ( ( Xs = nil_com )
        & ( Ys = nil_com ) ) ) ).

% Nil_is_append_conv
thf(fact_198_self__append__conv2,axiom,
    ! [Ys: list_com,Xs: list_com] :
      ( ( Ys
        = ( append_com @ Xs @ Ys ) )
      = ( Xs = nil_com ) ) ).

% self_append_conv2
thf(fact_199_append__self__conv2,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( ( append_com @ Xs @ Ys )
        = Ys )
      = ( Xs = nil_com ) ) ).

% append_self_conv2
thf(fact_200_self__append__conv,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( Xs
        = ( append_com @ Xs @ Ys ) )
      = ( Ys = nil_com ) ) ).

% self_append_conv
thf(fact_201_append__self__conv,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( ( append_com @ Xs @ Ys )
        = Xs )
      = ( Ys = nil_com ) ) ).

% append_self_conv
thf(fact_202_append__Nil2,axiom,
    ! [Xs: list_com] :
      ( ( append_com @ Xs @ nil_com )
      = Xs ) ).

% append_Nil2
thf(fact_203_append1__eq__conv,axiom,
    ! [Xs: list_com,X: com,Ys: list_com,Y: com] :
      ( ( ( append_com @ Xs @ ( cons_com @ X @ nil_com ) )
        = ( append_com @ Ys @ ( cons_com @ Y @ nil_com ) ) )
      = ( ( Xs = Ys )
        & ( X = Y ) ) ) ).

% append1_eq_conv
thf(fact_204_rev__nonempty__induct,axiom,
    ! [Xs: list_com,P: list_com > $o] :
      ( ( Xs != nil_com )
     => ( ! [X3: com] : ( P @ ( cons_com @ X3 @ nil_com ) )
       => ( ! [X3: com,Xs2: list_com] :
              ( ( Xs2 != nil_com )
             => ( ( P @ Xs2 )
               => ( P @ ( append_com @ Xs2 @ ( cons_com @ X3 @ nil_com ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% rev_nonempty_induct
thf(fact_205_append__eq__Cons__conv,axiom,
    ! [Ys: list_com,Zs: list_com,X: com,Xs: list_com] :
      ( ( ( append_com @ Ys @ Zs )
        = ( cons_com @ X @ Xs ) )
      = ( ( ( Ys = nil_com )
          & ( Zs
            = ( cons_com @ X @ Xs ) ) )
        | ? [Ys2: list_com] :
            ( ( Ys
              = ( cons_com @ X @ Ys2 ) )
            & ( ( append_com @ Ys2 @ Zs )
              = Xs ) ) ) ) ).

% append_eq_Cons_conv
thf(fact_206_Cons__eq__append__conv,axiom,
    ! [X: com,Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ( ( cons_com @ X @ Xs )
        = ( append_com @ Ys @ Zs ) )
      = ( ( ( Ys = nil_com )
          & ( ( cons_com @ X @ Xs )
            = Zs ) )
        | ? [Ys2: list_com] :
            ( ( ( cons_com @ X @ Ys2 )
              = Ys )
            & ( Xs
              = ( append_com @ Ys2 @ Zs ) ) ) ) ) ).

% Cons_eq_append_conv
thf(fact_207_rev__exhaust,axiom,
    ! [Xs: list_com] :
      ( ( Xs != nil_com )
     => ~ ! [Ys3: list_com,Y3: com] :
            ( Xs
           != ( append_com @ Ys3 @ ( cons_com @ Y3 @ nil_com ) ) ) ) ).

% rev_exhaust
thf(fact_208_rev__induct,axiom,
    ! [P: list_com > $o,Xs: list_com] :
      ( ( P @ nil_com )
     => ( ! [X3: com,Xs2: list_com] :
            ( ( P @ Xs2 )
           => ( P @ ( append_com @ Xs2 @ ( cons_com @ X3 @ nil_com ) ) ) )
       => ( P @ Xs ) ) ) ).

% rev_induct
thf(fact_209_transpose_Ocases,axiom,
    ! [X: list_list_com] :
      ( ( X != nil_list_com )
     => ( ! [Xss: list_list_com] :
            ( X
           != ( cons_list_com @ nil_com @ Xss ) )
       => ~ ! [X3: com,Xs2: list_com,Xss: list_list_com] :
              ( X
             != ( cons_list_com @ ( cons_com @ X3 @ Xs2 ) @ Xss ) ) ) ) ).

% transpose.cases
thf(fact_210_execs_Ointros_I1_J,axiom,
    ! [S: state] : ( pHoare259243732_execs @ S @ nil_com @ S ) ).

% execs.intros(1)
thf(fact_211_append__eq__append__conv2,axiom,
    ! [Xs: list_com,Ys: list_com,Zs: list_com,Ts: list_com] :
      ( ( ( append_com @ Xs @ Ys )
        = ( append_com @ Zs @ Ts ) )
      = ( ? [Us: list_com] :
            ( ( ( Xs
                = ( append_com @ Zs @ Us ) )
              & ( ( append_com @ Us @ Ys )
                = Ts ) )
            | ( ( ( append_com @ Xs @ Us )
                = Zs )
              & ( Ys
                = ( append_com @ Us @ Ts ) ) ) ) ) ) ).

% append_eq_append_conv2
thf(fact_212_append_Oleft__neutral,axiom,
    ! [A: list_com] :
      ( ( append_com @ nil_com @ A )
      = A ) ).

% append.left_neutral
thf(fact_213_append__eq__appendI,axiom,
    ! [Xs: list_com,Xs1: list_com,Zs: list_com,Ys: list_com,Us2: list_com] :
      ( ( ( append_com @ Xs @ Xs1 )
        = Zs )
     => ( ( Ys
          = ( append_com @ Xs1 @ Us2 ) )
       => ( ( append_com @ Xs @ Ys )
          = ( append_com @ Zs @ Us2 ) ) ) ) ).

% append_eq_appendI
thf(fact_214_append__Nil,axiom,
    ! [Ys: list_com] :
      ( ( append_com @ nil_com @ Ys )
      = Ys ) ).

% append_Nil
thf(fact_215_eq__Nil__appendI,axiom,
    ! [Xs: list_com,Ys: list_com] :
      ( ( Xs = Ys )
     => ( Xs
        = ( append_com @ nil_com @ Ys ) ) ) ).

% eq_Nil_appendI
thf(fact_216_append__Cons,axiom,
    ! [X: com,Xs: list_com,Ys: list_com] :
      ( ( append_com @ ( cons_com @ X @ Xs ) @ Ys )
      = ( cons_com @ X @ ( append_com @ Xs @ Ys ) ) ) ).

% append_Cons
thf(fact_217_Cons__eq__appendI,axiom,
    ! [X: com,Xs1: list_com,Ys: list_com,Xs: list_com,Zs: list_com] :
      ( ( ( cons_com @ X @ Xs1 )
        = Ys )
     => ( ( Xs
          = ( append_com @ Xs1 @ Zs ) )
       => ( ( cons_com @ X @ Xs )
          = ( append_com @ Ys @ Zs ) ) ) ) ).

% Cons_eq_appendI
thf(fact_218_splice_Ocases,axiom,
    ! [X: produc258871771st_com] :
      ( ! [Ys3: list_com] :
          ( X
         != ( produc1307105171st_com @ nil_com @ Ys3 ) )
     => ~ ! [X3: com,Xs2: list_com,Ys3: list_com] :
            ( X
           != ( produc1307105171st_com @ ( cons_com @ X3 @ Xs2 ) @ Ys3 ) ) ) ).

% splice.cases
thf(fact_219_shuffles_Ocases,axiom,
    ! [X: produc258871771st_com] :
      ( ! [Ys3: list_com] :
          ( X
         != ( produc1307105171st_com @ nil_com @ Ys3 ) )
     => ( ! [Xs2: list_com] :
            ( X
           != ( produc1307105171st_com @ Xs2 @ nil_com ) )
       => ~ ! [X3: com,Xs2: list_com,Y3: com,Ys3: list_com] :
              ( X
             != ( produc1307105171st_com @ ( cons_com @ X3 @ Xs2 ) @ ( cons_com @ Y3 @ Ys3 ) ) ) ) ) ).

% shuffles.cases
thf(fact_220_sorted__wrt_Ocases,axiom,
    ! [X: produc2058209240st_com] :
      ( ! [P3: com > com > $o] :
          ( X
         != ( produc1914379986st_com @ P3 @ nil_com ) )
     => ~ ! [P3: com > com > $o,X3: com,Ys3: list_com] :
            ( X
           != ( produc1914379986st_com @ P3 @ ( cons_com @ X3 @ Ys3 ) ) ) ) ).

% sorted_wrt.cases
thf(fact_221_successively_Ocases,axiom,
    ! [X: produc2058209240st_com] :
      ( ! [P3: com > com > $o] :
          ( X
         != ( produc1914379986st_com @ P3 @ nil_com ) )
     => ( ! [P3: com > com > $o,X3: com] :
            ( X
           != ( produc1914379986st_com @ P3 @ ( cons_com @ X3 @ nil_com ) ) )
       => ~ ! [P3: com > com > $o,X3: com,Y3: com,Xs2: list_com] :
              ( X
             != ( produc1914379986st_com @ P3 @ ( cons_com @ X3 @ ( cons_com @ Y3 @ Xs2 ) ) ) ) ) ) ).

% successively.cases
thf(fact_222_map__tailrec__rev_Oinduct,axiom,
    ! [P: ( com > com ) > list_com > list_com > $o,A0: com > com,A1: list_com,A22: list_com] :
      ( ! [F3: com > com,X_1: list_com] : ( P @ F3 @ nil_com @ X_1 )
     => ( ! [F3: com > com,A3: com,As: list_com,Bs: list_com] :
            ( ( P @ F3 @ As @ ( cons_com @ ( F3 @ A3 ) @ Bs ) )
           => ( P @ F3 @ ( cons_com @ A3 @ As ) @ Bs ) )
       => ( P @ A0 @ A1 @ A22 ) ) ) ).

% map_tailrec_rev.induct
thf(fact_223_list__nonempty__induct,axiom,
    ! [Xs: list_com,P: list_com > $o] :
      ( ( Xs != nil_com )
     => ( ! [X3: com] : ( P @ ( cons_com @ X3 @ nil_com ) )
       => ( ! [X3: com,Xs2: list_com] :
              ( ( Xs2 != nil_com )
             => ( ( P @ Xs2 )
               => ( P @ ( cons_com @ X3 @ Xs2 ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% list_nonempty_induct
thf(fact_224_successively_Oinduct,axiom,
    ! [P: ( com > com > $o ) > list_com > $o,A0: com > com > $o,A1: list_com] :
      ( ! [P3: com > com > $o] : ( P @ P3 @ nil_com )
     => ( ! [P3: com > com > $o,X3: com] : ( P @ P3 @ ( cons_com @ X3 @ nil_com ) )
       => ( ! [P3: com > com > $o,X3: com,Y3: com,Xs2: list_com] :
              ( ( P @ P3 @ ( cons_com @ Y3 @ Xs2 ) )
             => ( P @ P3 @ ( cons_com @ X3 @ ( cons_com @ Y3 @ Xs2 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% successively.induct
thf(fact_225_remdups__adj_Oinduct,axiom,
    ! [P: list_com > $o,A0: list_com] :
      ( ( P @ nil_com )
     => ( ! [X3: com] : ( P @ ( cons_com @ X3 @ nil_com ) )
       => ( ! [X3: com,Y3: com,Xs2: list_com] :
              ( ( ( X3 = Y3 )
               => ( P @ ( cons_com @ X3 @ Xs2 ) ) )
             => ( ( ( X3 != Y3 )
                 => ( P @ ( cons_com @ Y3 @ Xs2 ) ) )
               => ( P @ ( cons_com @ X3 @ ( cons_com @ Y3 @ Xs2 ) ) ) ) )
         => ( P @ A0 ) ) ) ) ).

% remdups_adj.induct
thf(fact_226_sorted__wrt_Oinduct,axiom,
    ! [P: ( com > com > $o ) > list_com > $o,A0: com > com > $o,A1: list_com] :
      ( ! [P3: com > com > $o] : ( P @ P3 @ nil_com )
     => ( ! [P3: com > com > $o,X3: com,Ys3: list_com] :
            ( ( P @ P3 @ Ys3 )
           => ( P @ P3 @ ( cons_com @ X3 @ Ys3 ) ) )
       => ( P @ A0 @ A1 ) ) ) ).

% sorted_wrt.induct
thf(fact_227_remdups__adj_Ocases,axiom,
    ! [X: list_com] :
      ( ( X != nil_com )
     => ( ! [X3: com] :
            ( X
           != ( cons_com @ X3 @ nil_com ) )
       => ~ ! [X3: com,Y3: com,Xs2: list_com] :
              ( X
             != ( cons_com @ X3 @ ( cons_com @ Y3 @ Xs2 ) ) ) ) ) ).

% remdups_adj.cases
thf(fact_228_shuffles_Oinduct,axiom,
    ! [P: list_com > list_com > $o,A0: list_com,A1: list_com] :
      ( ! [X_1: list_com] : ( P @ nil_com @ X_1 )
     => ( ! [Xs2: list_com] : ( P @ Xs2 @ nil_com )
       => ( ! [X3: com,Xs2: list_com,Y3: com,Ys3: list_com] :
              ( ( P @ Xs2 @ ( cons_com @ Y3 @ Ys3 ) )
             => ( ( P @ ( cons_com @ X3 @ Xs2 ) @ Ys3 )
               => ( P @ ( cons_com @ X3 @ Xs2 ) @ ( cons_com @ Y3 @ Ys3 ) ) ) )
         => ( P @ A0 @ A1 ) ) ) ) ).

% shuffles.induct
thf(fact_229_induct__list012,axiom,
    ! [P: list_com > $o,Xs: list_com] :
      ( ( P @ nil_com )
     => ( ! [X3: com] : ( P @ ( cons_com @ X3 @ nil_com ) )
       => ( ! [X3: com,Y3: com,Zs2: list_com] :
              ( ( P @ Zs2 )
             => ( ( P @ ( cons_com @ Y3 @ Zs2 ) )
               => ( P @ ( cons_com @ X3 @ ( cons_com @ Y3 @ Zs2 ) ) ) ) )
         => ( P @ Xs ) ) ) ) ).

% induct_list012
thf(fact_230_splice_Oinduct,axiom,
    ! [P: list_com > list_com > $o,A0: list_com,A1: list_com] :
      ( ! [X_1: list_com] : ( P @ nil_com @ X_1 )
     => ( ! [X3: com,Xs2: list_com,Ys3: list_com] :
            ( ( P @ Ys3 @ Xs2 )
           => ( P @ ( cons_com @ X3 @ Xs2 ) @ Ys3 ) )
       => ( P @ A0 @ A1 ) ) ) ).

% splice.induct
thf(fact_231_list__induct2_H,axiom,
    ! [P: list_com > list_com > $o,Xs: list_com,Ys: list_com] :
      ( ( P @ nil_com @ nil_com )
     => ( ! [X3: com,Xs2: list_com] : ( P @ ( cons_com @ X3 @ Xs2 ) @ nil_com )
       => ( ! [Y3: com,Ys3: list_com] : ( P @ nil_com @ ( cons_com @ Y3 @ Ys3 ) )
         => ( ! [X3: com,Xs2: list_com,Y3: com,Ys3: list_com] :
                ( ( P @ Xs2 @ Ys3 )
               => ( P @ ( cons_com @ X3 @ Xs2 ) @ ( cons_com @ Y3 @ Ys3 ) ) )
           => ( P @ Xs @ Ys ) ) ) ) ) ).

% list_induct2'
thf(fact_232_neq__Nil__conv,axiom,
    ! [Xs: list_com] :
      ( ( Xs != nil_com )
      = ( ? [Y5: com,Ys4: list_com] :
            ( Xs
            = ( cons_com @ Y5 @ Ys4 ) ) ) ) ).

% neq_Nil_conv
thf(fact_233_list_Oinducts,axiom,
    ! [P: list_com > $o,List: list_com] :
      ( ( P @ nil_com )
     => ( ! [X12: com,X23: list_com] :
            ( ( P @ X23 )
           => ( P @ ( cons_com @ X12 @ X23 ) ) )
       => ( P @ List ) ) ) ).

% list.inducts
thf(fact_234_list_Oexhaust,axiom,
    ! [Y: list_com] :
      ( ( Y != nil_com )
     => ~ ! [X212: com,X222: list_com] :
            ( Y
           != ( cons_com @ X212 @ X222 ) ) ) ).

% list.exhaust
thf(fact_235_list_OdiscI,axiom,
    ! [List: list_com,X21: com,X22: list_com] :
      ( ( List
        = ( cons_com @ X21 @ X22 ) )
     => ( List != nil_com ) ) ).

% list.discI
thf(fact_236_list_Odistinct_I1_J,axiom,
    ! [X21: com,X22: list_com] :
      ( nil_com
     != ( cons_com @ X21 @ X22 ) ) ).

% list.distinct(1)
thf(fact_237_execs_Ocases,axiom,
    ! [A1: state,A22: list_com,A32: state] :
      ( ( pHoare259243732_execs @ A1 @ A22 @ A32 )
     => ( ( ( A22 = nil_com )
         => ( A32 != A1 ) )
       => ~ ! [C2: com,T3: state,Cs4: list_com] :
              ( ( A22
                = ( cons_com @ C2 @ Cs4 ) )
             => ( ( exec @ A1 @ C2 @ T3 )
               => ~ ( pHoare259243732_execs @ T3 @ Cs4 @ A32 ) ) ) ) ) ).

% execs.cases
thf(fact_238_execs_Osimps,axiom,
    ( pHoare259243732_execs
    = ( ^ [A12: state,A23: list_com,A33: state] :
          ( ? [S3: state] :
              ( ( A12 = S3 )
              & ( A23 = nil_com )
              & ( A33 = S3 ) )
          | ? [S3: state,C3: com,T2: state,Cs3: list_com,U2: state] :
              ( ( A12 = S3 )
              & ( A23
                = ( cons_com @ C3 @ Cs3 ) )
              & ( A33 = U2 )
              & ( exec @ S3 @ C3 @ T2 )
              & ( pHoare259243732_execs @ T2 @ Cs3 @ U2 ) ) ) ) ) ).

% execs.simps
thf(fact_239_execs_Oinducts,axiom,
    ! [X1: state,X2: list_com,X34: state,P: state > list_com > state > $o] :
      ( ( pHoare259243732_execs @ X1 @ X2 @ X34 )
     => ( ! [S4: state] : ( P @ S4 @ nil_com @ S4 )
       => ( ! [S4: state,C2: com,T3: state,Cs4: list_com,U3: state] :
              ( ( exec @ S4 @ C2 @ T3 )
             => ( ( pHoare259243732_execs @ T3 @ Cs4 @ U3 )
               => ( ( P @ T3 @ Cs4 @ U3 )
                 => ( P @ S4 @ ( cons_com @ C2 @ Cs4 ) @ U3 ) ) ) )
         => ( P @ X1 @ X2 @ X34 ) ) ) ) ).

% execs.inducts
thf(fact_240_while__termiE,axiom,
    ! [B: state > $o,C: com,S: state] :
      ( ( termi @ ( while @ B @ C ) @ S )
     => ( ( B @ S )
       => ( termi @ C @ S ) ) ) ).

% while_termiE
thf(fact_241_termis_Osimps_I1_J,axiom,
    ! [S: state] : ( pHoare806997636termis @ nil_com @ S ) ).

% termis.simps(1)
thf(fact_242_gen__length__code_I1_J,axiom,
    ! [N: nat] :
      ( ( gen_length_com @ N @ nil_com )
      = N ) ).

% gen_length_code(1)
thf(fact_243_while__termiE2,axiom,
    ! [B: state > $o,C: com,S: state,T: state] :
      ( ( termi @ ( while @ B @ C ) @ S )
     => ( ( B @ S )
       => ( ( exec @ S @ C @ T )
         => ( termi @ ( while @ B @ C ) @ T ) ) ) ) ).

% while_termiE2
thf(fact_244_exec1s__impl__execs,axiom,
    ! [Cs: list_com,S: state,T: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Cs @ S ) @ ( produc1204172211_state @ nil_com @ T ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) )
     => ( pHoare259243732_execs @ S @ Cs @ T ) ) ).

% exec1s_impl_execs
thf(fact_245_execs__pres__termi,axiom,
    ! [C: com,S: state,C4: com,Cs2: list_com,S2: state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( cons_com @ C @ nil_com ) @ S ) @ ( produc1204172211_state @ ( cons_com @ C4 @ Cs2 ) @ S2 ) ) @ ( transi1302705790_state @ pHoare259243666_exec1 ) )
     => ( ( termi @ C @ S )
       => ( termi @ C4 @ S2 ) ) ) ).

% execs_pres_termi
thf(fact_246_app__exec,axiom,
    ! [Cs: list_com,S: state,Cs2: list_com,S2: state,Cs22: list_com] :
      ( ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ Cs @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 )
     => ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ ( append_com @ Cs @ Cs22 ) @ S ) @ ( produc1204172211_state @ ( append_com @ Cs2 @ Cs22 ) @ S2 ) ) @ pHoare259243666_exec1 ) ) ).

% app_exec
thf(fact_247_exec1E_I1_J,axiom,
    ! [S: state,Cs2: list_com,S2: state] :
      ~ ( member1069318160_state @ ( produc1909270103_state @ ( produc1204172211_state @ nil_com @ S ) @ ( produc1204172211_state @ Cs2 @ S2 ) ) @ pHoare259243666_exec1 ) ).

% exec1E(1)
thf(fact_248_termi__while,axiom,
    ! [B: state > $o,C: com,F2: nat > state,K: nat] :
      ( ( termi @ ( while @ B @ C ) @ ( F2 @ K ) )
     => ( ! [I2: nat] : ( exec @ ( F2 @ I2 ) @ C @ ( F2 @ ( suc @ I2 ) ) )
       => ? [I2: nat] :
            ~ ( B @ ( F2 @ I2 ) ) ) ) ).

% termi_while
thf(fact_249_termi__while__lemma,axiom,
    ! [W: com,Fk: state,F2: nat > state,K: nat,B: state > $o,C: com] :
      ( ( termi @ W @ Fk )
     => ( ( ( Fk
            = ( F2 @ K ) )
          & ( W
            = ( while @ B @ C ) )
          & ! [I2: nat] : ( exec @ ( F2 @ I2 ) @ C @ ( F2 @ ( suc @ I2 ) ) ) )
       => ? [I2: nat] :
            ~ ( B @ ( F2 @ I2 ) ) ) ) ).

% termi_while_lemma
thf(fact_250_termi_OSemi,axiom,
    ! [C1: com,S0: state,C22: com] :
      ( ( termi @ C1 @ S0 )
     => ( ! [S12: state] :
            ( ( exec @ S0 @ C1 @ S12 )
           => ( termi @ C22 @ S12 ) )
       => ( termi @ ( semi @ C1 @ C22 ) @ S0 ) ) ) ).

% termi.Semi
thf(fact_251_termi_OWhileTrue,axiom,
    ! [B: state > $o,S: state,C: com] :
      ( ( B @ S )
     => ( ( termi @ C @ S )
       => ( ! [T3: state] :
              ( ( exec @ S @ C @ T3 )
             => ( termi @ ( while @ B @ C ) @ T3 ) )
         => ( termi @ ( while @ B @ C ) @ S ) ) ) ) ).

% termi.WhileTrue
thf(fact_252_termi_OIfFalse,axiom,
    ! [B: state > $o,S: state,C22: com,C1: com] :
      ( ~ ( B @ S )
     => ( ( termi @ C22 @ S )
       => ( termi @ ( cond @ B @ C1 @ C22 ) @ S ) ) ) ).

% termi.IfFalse
thf(fact_253_termi_OWhileFalse,axiom,
    ! [B: state > $o,S: state,C: com] :
      ( ~ ( B @ S )
     => ( termi @ ( while @ B @ C ) @ S ) ) ).

% termi.WhileFalse
thf(fact_254_termi_OIfTrue,axiom,
    ! [B: state > $o,S: state,C1: com,C22: com] :
      ( ( B @ S )
     => ( ( termi @ C1 @ S )
       => ( termi @ ( cond @ B @ C1 @ C22 ) @ S ) ) ) ).

% termi.IfTrue
thf(fact_255_n__lists__Nil,axiom,
    ! [N: nat] :
      ( ( ( N = zero_zero_nat )
       => ( ( n_lists_com @ N @ nil_com )
          = ( cons_list_com @ nil_com @ nil_list_com ) ) )
      & ( ( N != zero_zero_nat )
       => ( ( n_lists_com @ N @ nil_com )
          = nil_list_com ) ) ) ).

% n_lists_Nil
thf(fact_256_n__lists_Osimps_I1_J,axiom,
    ! [Xs: list_com] :
      ( ( n_lists_com @ zero_zero_nat @ Xs )
      = ( cons_list_com @ nil_com @ nil_list_com ) ) ).

% n_lists.simps(1)
thf(fact_257_product__lists_Osimps_I1_J,axiom,
    ( ( product_lists_com @ nil_list_com )
    = ( cons_list_com @ nil_com @ nil_list_com ) ) ).

% product_lists.simps(1)
thf(fact_258_bind__simps_I2_J,axiom,
    ! [X: com,Xs: list_com,F2: com > list_com] :
      ( ( bind_com_com @ ( cons_com @ X @ Xs ) @ F2 )
      = ( append_com @ ( F2 @ X ) @ ( bind_com_com @ Xs @ F2 ) ) ) ).

% bind_simps(2)
thf(fact_259_subseqs_Osimps_I1_J,axiom,
    ( ( subseqs_com @ nil_com )
    = ( cons_list_com @ nil_com @ nil_list_com ) ) ).

% subseqs.simps(1)
thf(fact_260_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_com,X: com,Ys: list_com,Y: com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ ( cons_com @ X @ nil_com ) ) @ ( append_com @ Ys @ ( cons_com @ Y @ nil_com ) ) ) @ ( listrel1_com @ R ) )
      = ( ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) )
          & ( X = Y ) )
        | ( ( Xs = Ys )
          & ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_261_snoc__listrel1__snoc__iff,axiom,
    ! [Xs: list_P1040014977_state,X: produc2041926651_state,Ys: list_P1040014977_state,Y: produc2041926651_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( append982487830_state @ Xs @ ( cons_P465369265_state @ X @ nil_Pr1844458753_state ) ) @ ( append982487830_state @ Ys @ ( cons_P465369265_state @ Y @ nil_Pr1844458753_state ) ) ) @ ( listre1738592858_state @ R ) )
      = ( ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre1738592858_state @ R ) )
          & ( X = Y ) )
        | ( ( Xs = Ys )
          & ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R ) ) ) ) ).

% snoc_listrel1_snoc_iff
thf(fact_262_bind__simps_I1_J,axiom,
    ! [F2: com > list_com] :
      ( ( bind_com_com @ nil_com @ F2 )
      = nil_com ) ).

% bind_simps(1)
thf(fact_263_Cons__listrel1__Cons,axiom,
    ! [X: com,Xs: list_com,Y: com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ Y @ Ys ) ) @ ( listrel1_com @ R ) )
      = ( ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R )
          & ( Xs = Ys ) )
        | ( ( X = Y )
          & ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_264_Cons__listrel1__Cons,axiom,
    ! [X: produc2041926651_state,Xs: list_P1040014977_state,Y: produc2041926651_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( listre1738592858_state @ R ) )
      = ( ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R )
          & ( Xs = Ys ) )
        | ( ( X = Y )
          & ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre1738592858_state @ R ) ) ) ) ) ).

% Cons_listrel1_Cons
thf(fact_265_rtrancl__listrel1__ConsI1,axiom,
    ! [Xs: list_com,Ys: list_com,R: set_Pr1822651163om_com,X: com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( transi436345274st_com @ ( listrel1_com @ R ) ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ X @ Ys ) ) @ ( transi436345274st_com @ ( listrel1_com @ R ) ) ) ) ).

% rtrancl_listrel1_ConsI1
thf(fact_266_listrel1I2,axiom,
    ! [Xs: list_com,Ys: list_com,R: set_Pr1822651163om_com,X: com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ X @ Ys ) ) @ ( listrel1_com @ R ) ) ) ).

% listrel1I2
thf(fact_267_not__Nil__listrel1,axiom,
    ! [Xs: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ Xs ) @ ( listrel1_com @ R ) ) ).

% not_Nil_listrel1
thf(fact_268_not__listrel1__Nil,axiom,
    ! [Xs: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ Xs @ nil_com ) @ ( listrel1_com @ R ) ) ).

% not_listrel1_Nil
thf(fact_269_append__listrel1I,axiom,
    ! [Xs: list_com,Ys: list_com,R: set_Pr1822651163om_com,Us2: list_com,Vs: list_com] :
      ( ( ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) )
          & ( Us2 = Vs ) )
        | ( ( Xs = Ys )
          & ( member32358020st_com @ ( produc1307105171st_com @ Us2 @ Vs ) @ ( listrel1_com @ R ) ) ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ Us2 ) @ ( append_com @ Ys @ Vs ) ) @ ( listrel1_com @ R ) ) ) ).

% append_listrel1I
thf(fact_270_listrel1I1,axiom,
    ! [X: com,Y: com,R: set_Pr1822651163om_com,Xs: list_com] :
      ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ Y @ Xs ) ) @ ( listrel1_com @ R ) ) ) ).

% listrel1I1
thf(fact_271_listrel1I1,axiom,
    ! [X: produc2041926651_state,Y: produc2041926651_state,R: set_Pr1165141447_state,Xs: list_P1040014977_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R )
     => ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ ( cons_P465369265_state @ Y @ Xs ) ) @ ( listre1738592858_state @ R ) ) ) ).

% listrel1I1
thf(fact_272_Cons__listrel1E1,axiom,
    ! [X: com,Xs: list_com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ Ys ) @ ( listrel1_com @ R ) )
     => ( ! [Y3: com] :
            ( ( Ys
              = ( cons_com @ Y3 @ Xs ) )
           => ~ ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y3 ) @ R ) )
       => ~ ! [Zs2: list_com] :
              ( ( Ys
                = ( cons_com @ X @ Zs2 ) )
             => ~ ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Zs2 ) @ ( listrel1_com @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_273_Cons__listrel1E1,axiom,
    ! [X: produc2041926651_state,Xs: list_P1040014977_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ Ys ) @ ( listre1738592858_state @ R ) )
     => ( ! [Y3: produc2041926651_state] :
            ( ( Ys
              = ( cons_P465369265_state @ Y3 @ Xs ) )
           => ~ ( member1069318160_state @ ( produc1909270103_state @ X @ Y3 ) @ R ) )
       => ~ ! [Zs2: list_P1040014977_state] :
              ( ( Ys
                = ( cons_P465369265_state @ X @ Zs2 ) )
             => ~ ( member1267359376_state @ ( produc1298457559_state @ Xs @ Zs2 ) @ ( listre1738592858_state @ R ) ) ) ) ) ).

% Cons_listrel1E1
thf(fact_274_Cons__listrel1E2,axiom,
    ! [Xs: list_com,Y: com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ ( cons_com @ Y @ Ys ) ) @ ( listrel1_com @ R ) )
     => ( ! [X3: com] :
            ( ( Xs
              = ( cons_com @ X3 @ Ys ) )
           => ~ ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ Y ) @ R ) )
       => ~ ! [Zs2: list_com] :
              ( ( Xs
                = ( cons_com @ Y @ Zs2 ) )
             => ~ ( member32358020st_com @ ( produc1307105171st_com @ Zs2 @ Ys ) @ ( listrel1_com @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_275_Cons__listrel1E2,axiom,
    ! [Xs: list_P1040014977_state,Y: produc2041926651_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( listre1738592858_state @ R ) )
     => ( ! [X3: produc2041926651_state] :
            ( ( Xs
              = ( cons_P465369265_state @ X3 @ Ys ) )
           => ~ ( member1069318160_state @ ( produc1909270103_state @ X3 @ Y ) @ R ) )
       => ~ ! [Zs2: list_P1040014977_state] :
              ( ( Xs
                = ( cons_P465369265_state @ Y @ Zs2 ) )
             => ~ ( member1267359376_state @ ( produc1298457559_state @ Zs2 @ Ys ) @ ( listre1738592858_state @ R ) ) ) ) ) ).

% Cons_listrel1E2
thf(fact_276_listrel1I,axiom,
    ! [X: com,Y: com,R: set_Pr1822651163om_com,Xs: list_com,Us2: list_com,Vs: list_com,Ys: list_com] :
      ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R )
     => ( ( Xs
          = ( append_com @ Us2 @ ( cons_com @ X @ Vs ) ) )
       => ( ( Ys
            = ( append_com @ Us2 @ ( cons_com @ Y @ Vs ) ) )
         => ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) ) ) ) ) ).

% listrel1I
thf(fact_277_listrel1I,axiom,
    ! [X: produc2041926651_state,Y: produc2041926651_state,R: set_Pr1165141447_state,Xs: list_P1040014977_state,Us2: list_P1040014977_state,Vs: list_P1040014977_state,Ys: list_P1040014977_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R )
     => ( ( Xs
          = ( append982487830_state @ Us2 @ ( cons_P465369265_state @ X @ Vs ) ) )
       => ( ( Ys
            = ( append982487830_state @ Us2 @ ( cons_P465369265_state @ Y @ Vs ) ) )
         => ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre1738592858_state @ R ) ) ) ) ) ).

% listrel1I
thf(fact_278_listrel1E,axiom,
    ! [Xs: list_com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel1_com @ R ) )
     => ~ ! [X3: com,Y3: com] :
            ( ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ Y3 ) @ R )
           => ! [Us3: list_com,Vs2: list_com] :
                ( ( Xs
                  = ( append_com @ Us3 @ ( cons_com @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append_com @ Us3 @ ( cons_com @ Y3 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_279_listrel1E,axiom,
    ! [Xs: list_P1040014977_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre1738592858_state @ R ) )
     => ~ ! [X3: produc2041926651_state,Y3: produc2041926651_state] :
            ( ( member1069318160_state @ ( produc1909270103_state @ X3 @ Y3 ) @ R )
           => ! [Us3: list_P1040014977_state,Vs2: list_P1040014977_state] :
                ( ( Xs
                  = ( append982487830_state @ Us3 @ ( cons_P465369265_state @ X3 @ Vs2 ) ) )
               => ( Ys
                 != ( append982487830_state @ Us3 @ ( cons_P465369265_state @ Y3 @ Vs2 ) ) ) ) ) ) ).

% listrel1E
thf(fact_280_rtrancl__listrel1__ConsI2,axiom,
    ! [X: com,Y: com,R: set_Pr1822651163om_com,Xs: list_com,Ys: list_com] :
      ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ ( transi863150634cl_com @ R ) )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( transi436345274st_com @ ( listrel1_com @ R ) ) )
       => ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ Y @ Ys ) ) @ ( transi436345274st_com @ ( listrel1_com @ R ) ) ) ) ) ).

% rtrancl_listrel1_ConsI2
thf(fact_281_rtrancl__listrel1__ConsI2,axiom,
    ! [X: produc2041926651_state,Y: produc2041926651_state,R: set_Pr1165141447_state,Xs: list_P1040014977_state,Ys: list_P1040014977_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ ( transi1302705790_state @ R ) )
     => ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( transi339813252_state @ ( listre1738592858_state @ R ) ) )
       => ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( transi339813252_state @ ( listre1738592858_state @ R ) ) ) ) ) ).

% rtrancl_listrel1_ConsI2
thf(fact_282_maps__simps_I1_J,axiom,
    ! [F2: com > list_com,X: com,Xs: list_com] :
      ( ( maps_com_com @ F2 @ ( cons_com @ X @ Xs ) )
      = ( append_com @ ( F2 @ X ) @ ( maps_com_com @ F2 @ Xs ) ) ) ).

% maps_simps(1)
thf(fact_283_insert__Nil,axiom,
    ! [X: com] :
      ( ( insert_com @ X @ nil_com )
      = ( cons_com @ X @ nil_com ) ) ).

% insert_Nil
thf(fact_284_concat__eq__append__conv,axiom,
    ! [Xss2: list_list_com,Ys: list_com,Zs: list_com] :
      ( ( ( concat_com @ Xss2 )
        = ( append_com @ Ys @ Zs ) )
      = ( ( ( Xss2 = nil_list_com )
         => ( ( Ys = nil_com )
            & ( Zs = nil_com ) ) )
        & ( ( Xss2 != nil_list_com )
         => ? [Xss1: list_list_com,Xs3: list_com,Xs4: list_com,Xss22: list_list_com] :
              ( ( Xss2
                = ( append_list_com @ Xss1 @ ( cons_list_com @ ( append_com @ Xs3 @ Xs4 ) @ Xss22 ) ) )
              & ( Ys
                = ( append_com @ ( concat_com @ Xss1 ) @ Xs3 ) )
              & ( Zs
                = ( append_com @ Xs4 @ ( concat_com @ Xss22 ) ) ) ) ) ) ) ).

% concat_eq_append_conv
thf(fact_285_concat__append,axiom,
    ! [Xs: list_list_com,Ys: list_list_com] :
      ( ( concat_com @ ( append_list_com @ Xs @ Ys ) )
      = ( append_com @ ( concat_com @ Xs ) @ ( concat_com @ Ys ) ) ) ).

% concat_append
thf(fact_286_concat_Osimps_I1_J,axiom,
    ( ( concat_com @ nil_list_com )
    = nil_com ) ).

% concat.simps(1)
thf(fact_287_concat_Osimps_I2_J,axiom,
    ! [X: list_com,Xs: list_list_com] :
      ( ( concat_com @ ( cons_list_com @ X @ Xs ) )
      = ( append_com @ X @ ( concat_com @ Xs ) ) ) ).

% concat.simps(2)
thf(fact_288_maps__simps_I2_J,axiom,
    ! [F2: com > list_com] :
      ( ( maps_com_com @ F2 @ nil_com )
      = nil_com ) ).

% maps_simps(2)
thf(fact_289_concat__eq__appendD,axiom,
    ! [Xss2: list_list_com,Ys: list_com,Zs: list_com] :
      ( ( ( concat_com @ Xss2 )
        = ( append_com @ Ys @ Zs ) )
     => ( ( Xss2 != nil_list_com )
       => ? [Xss12: list_list_com,Xs2: list_com,Xs5: list_com,Xss23: list_list_com] :
            ( ( Xss2
              = ( append_list_com @ Xss12 @ ( cons_list_com @ ( append_com @ Xs2 @ Xs5 ) @ Xss23 ) ) )
            & ( Ys
              = ( append_com @ ( concat_com @ Xss12 ) @ Xs2 ) )
            & ( Zs
              = ( append_com @ Xs5 @ ( concat_com @ Xss23 ) ) ) ) ) ) ).

% concat_eq_appendD
thf(fact_290_nths__singleton,axiom,
    ! [A4: set_nat,X: com] :
      ( ( ( member_nat @ zero_zero_nat @ A4 )
       => ( ( nths_com @ ( cons_com @ X @ nil_com ) @ A4 )
          = ( cons_com @ X @ nil_com ) ) )
      & ( ~ ( member_nat @ zero_zero_nat @ A4 )
       => ( ( nths_com @ ( cons_com @ X @ nil_com ) @ A4 )
          = nil_com ) ) ) ).

% nths_singleton
thf(fact_291_lexord__append__left__rightI,axiom,
    ! [A: com,B: com,R: set_Pr1822651163om_com,U: list_com,X: list_com,Y: list_com] :
      ( ( member1333916004om_com @ ( product_Pair_com_com @ A @ B ) @ R )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ U @ ( cons_com @ A @ X ) ) @ ( append_com @ U @ ( cons_com @ B @ Y ) ) ) @ ( lexord_com @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_292_lexord__append__left__rightI,axiom,
    ! [A: produc2041926651_state,B: produc2041926651_state,R: set_Pr1165141447_state,U: list_P1040014977_state,X: list_P1040014977_state,Y: list_P1040014977_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ R )
     => ( member1267359376_state @ ( produc1298457559_state @ ( append982487830_state @ U @ ( cons_P465369265_state @ A @ X ) ) @ ( append982487830_state @ U @ ( cons_P465369265_state @ B @ Y ) ) ) @ ( lexord1062073966_state @ R ) ) ) ).

% lexord_append_left_rightI
thf(fact_293_nths__nil,axiom,
    ! [A4: set_nat] :
      ( ( nths_com @ nil_com @ A4 )
      = nil_com ) ).

% nths_nil
thf(fact_294_lexord__cons__cons,axiom,
    ! [A: com,X: list_com,B: com,Y: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ A @ X ) @ ( cons_com @ B @ Y ) ) @ ( lexord_com @ R ) )
      = ( ( member1333916004om_com @ ( product_Pair_com_com @ A @ B ) @ R )
        | ( ( A = B )
          & ( member32358020st_com @ ( produc1307105171st_com @ X @ Y ) @ ( lexord_com @ R ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_295_lexord__cons__cons,axiom,
    ! [A: produc2041926651_state,X: list_P1040014977_state,B: produc2041926651_state,Y: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ A @ X ) @ ( cons_P465369265_state @ B @ Y ) ) @ ( lexord1062073966_state @ R ) )
      = ( ( member1069318160_state @ ( produc1909270103_state @ A @ B ) @ R )
        | ( ( A = B )
          & ( member1267359376_state @ ( produc1298457559_state @ X @ Y ) @ ( lexord1062073966_state @ R ) ) ) ) ) ).

% lexord_cons_cons
thf(fact_296_lexord__Nil__left,axiom,
    ! [Y: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ Y ) @ ( lexord_com @ R ) )
      = ( ? [A5: com,X4: list_com] :
            ( Y
            = ( cons_com @ A5 @ X4 ) ) ) ) ).

% lexord_Nil_left
thf(fact_297_lexord__linear,axiom,
    ! [R: set_Pr1165141447_state,X: list_P1040014977_state,Y: list_P1040014977_state] :
      ( ! [A3: produc2041926651_state,B3: produc2041926651_state] :
          ( ( member1069318160_state @ ( produc1909270103_state @ A3 @ B3 ) @ R )
          | ( A3 = B3 )
          | ( member1069318160_state @ ( produc1909270103_state @ B3 @ A3 ) @ R ) )
     => ( ( member1267359376_state @ ( produc1298457559_state @ X @ Y ) @ ( lexord1062073966_state @ R ) )
        | ( X = Y )
        | ( member1267359376_state @ ( produc1298457559_state @ Y @ X ) @ ( lexord1062073966_state @ R ) ) ) ) ).

% lexord_linear
thf(fact_298_lexord__irreflexive,axiom,
    ! [R: set_Pr1165141447_state,Xs: list_P1040014977_state] :
      ( ! [X3: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ X3 @ X3 ) @ R )
     => ~ ( member1267359376_state @ ( produc1298457559_state @ Xs @ Xs ) @ ( lexord1062073966_state @ R ) ) ) ).

% lexord_irreflexive
thf(fact_299_lexord__Nil__right,axiom,
    ! [X: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ X @ nil_com ) @ ( lexord_com @ R ) ) ).

% lexord_Nil_right
thf(fact_300_lexord__append__leftI,axiom,
    ! [U: list_com,V: list_com,R: set_Pr1822651163om_com,X: list_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ U @ V ) @ ( lexord_com @ R ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ X @ U ) @ ( append_com @ X @ V ) ) @ ( lexord_com @ R ) ) ) ).

% lexord_append_leftI
thf(fact_301_lexord__append__leftD,axiom,
    ! [X: list_com,U: list_com,V: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ X @ U ) @ ( append_com @ X @ V ) ) @ ( lexord_com @ R ) )
     => ( ! [A3: com] :
            ~ ( member1333916004om_com @ ( product_Pair_com_com @ A3 @ A3 ) @ R )
       => ( member32358020st_com @ ( produc1307105171st_com @ U @ V ) @ ( lexord_com @ R ) ) ) ) ).

% lexord_append_leftD
thf(fact_302_lexord__append__leftD,axiom,
    ! [X: list_P1040014977_state,U: list_P1040014977_state,V: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( append982487830_state @ X @ U ) @ ( append982487830_state @ X @ V ) ) @ ( lexord1062073966_state @ R ) )
     => ( ! [A3: produc2041926651_state] :
            ~ ( member1069318160_state @ ( produc1909270103_state @ A3 @ A3 ) @ R )
       => ( member1267359376_state @ ( produc1298457559_state @ U @ V ) @ ( lexord1062073966_state @ R ) ) ) ) ).

% lexord_append_leftD
thf(fact_303_lexord__append__rightI,axiom,
    ! [Y: list_com,X: list_com,R: set_Pr1822651163om_com] :
      ( ? [B5: com,Z3: list_com] :
          ( Y
          = ( cons_com @ B5 @ Z3 ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ X @ ( append_com @ X @ Y ) ) @ ( lexord_com @ R ) ) ) ).

% lexord_append_rightI
thf(fact_304_lexord__same__pref__if__irrefl,axiom,
    ! [R: set_Pr1822651163om_com,Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ( irrefl_com @ R )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ Ys ) @ ( append_com @ Xs @ Zs ) ) @ ( lexord_com @ R ) )
        = ( member32358020st_com @ ( produc1307105171st_com @ Ys @ Zs ) @ ( lexord_com @ R ) ) ) ) ).

% lexord_same_pref_if_irrefl
thf(fact_305_listrel_Ocases,axiom,
    ! [A1: list_com,A22: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ A1 @ A22 ) @ ( listrel_com_com @ R ) )
     => ( ( ( A1 = nil_com )
         => ( A22 != nil_com ) )
       => ~ ! [X3: com,Y3: com,Xs2: list_com] :
              ( ( A1
                = ( cons_com @ X3 @ Xs2 ) )
             => ! [Ys3: list_com] :
                  ( ( A22
                    = ( cons_com @ Y3 @ Ys3 ) )
                 => ( ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ Y3 ) @ R )
                   => ~ ( member32358020st_com @ ( produc1307105171st_com @ Xs2 @ Ys3 ) @ ( listrel_com_com @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_306_listrel_Ocases,axiom,
    ! [A1: list_list_com,A22: list_state,R: set_Pr849496667_state] :
      ( ( member1442949316_state @ ( produc1742567891_state @ A1 @ A22 ) @ ( listre1268245261_state @ R ) )
     => ( ( ( A1 = nil_list_com )
         => ( A22 != nil_state ) )
       => ~ ! [X3: list_com,Y3: state,Xs2: list_list_com] :
              ( ( A1
                = ( cons_list_com @ X3 @ Xs2 ) )
             => ! [Ys3: list_state] :
                  ( ( A22
                    = ( cons_state @ Y3 @ Ys3 ) )
                 => ( ( member64234660_state @ ( produc1204172211_state @ X3 @ Y3 ) @ R )
                   => ~ ( member1442949316_state @ ( produc1742567891_state @ Xs2 @ Ys3 ) @ ( listre1268245261_state @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_307_listrel_Ocases,axiom,
    ! [A1: list_P1040014977_state,A22: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ A1 @ A22 ) @ ( listre194873521_state @ R ) )
     => ( ( ( A1 = nil_Pr1844458753_state )
         => ( A22 != nil_Pr1844458753_state ) )
       => ~ ! [X3: produc2041926651_state,Y3: produc2041926651_state,Xs2: list_P1040014977_state] :
              ( ( A1
                = ( cons_P465369265_state @ X3 @ Xs2 ) )
             => ! [Ys3: list_P1040014977_state] :
                  ( ( A22
                    = ( cons_P465369265_state @ Y3 @ Ys3 ) )
                 => ( ( member1069318160_state @ ( produc1909270103_state @ X3 @ Y3 ) @ R )
                   => ~ ( member1267359376_state @ ( produc1298457559_state @ Xs2 @ Ys3 ) @ ( listre194873521_state @ R ) ) ) ) ) ) ) ).

% listrel.cases
thf(fact_308_listrel__rtrancl__refl,axiom,
    ! [Xs: list_P1040014977_state,R: set_Pr1165141447_state] : ( member1267359376_state @ ( produc1298457559_state @ Xs @ Xs ) @ ( listre194873521_state @ ( transi1302705790_state @ R ) ) ) ).

% listrel_rtrancl_refl
thf(fact_309_listrel_ONil,axiom,
    ! [R: set_Pr1822651163om_com] : ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ nil_com ) @ ( listrel_com_com @ R ) ) ).

% listrel.Nil
thf(fact_310_listrel__Nil1,axiom,
    ! [Xs: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ Xs ) @ ( listrel_com_com @ R ) )
     => ( Xs = nil_com ) ) ).

% listrel_Nil1
thf(fact_311_listrel__Nil2,axiom,
    ! [Xs: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ nil_com ) @ ( listrel_com_com @ R ) )
     => ( Xs = nil_com ) ) ).

% listrel_Nil2
thf(fact_312_listrel__rtrancl__trans,axiom,
    ! [Xs: list_P1040014977_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state,Zs: list_P1040014977_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre194873521_state @ ( transi1302705790_state @ R ) ) )
     => ( ( member1267359376_state @ ( produc1298457559_state @ Ys @ Zs ) @ ( listre194873521_state @ ( transi1302705790_state @ R ) ) )
       => ( member1267359376_state @ ( produc1298457559_state @ Xs @ Zs ) @ ( listre194873521_state @ ( transi1302705790_state @ R ) ) ) ) ) ).

% listrel_rtrancl_trans
thf(fact_313_listrel__Cons2,axiom,
    ! [Xs: list_com,Y: com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ ( cons_com @ Y @ Ys ) ) @ ( listrel_com_com @ R ) )
     => ~ ! [X3: com,Xs2: list_com] :
            ( ( Xs
              = ( cons_com @ X3 @ Xs2 ) )
           => ( ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ Y ) @ R )
             => ~ ( member32358020st_com @ ( produc1307105171st_com @ Xs2 @ Ys ) @ ( listrel_com_com @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_314_listrel__Cons2,axiom,
    ! [Xs: list_list_com,Y: state,Ys: list_state,R: set_Pr849496667_state] :
      ( ( member1442949316_state @ ( produc1742567891_state @ Xs @ ( cons_state @ Y @ Ys ) ) @ ( listre1268245261_state @ R ) )
     => ~ ! [X3: list_com,Xs2: list_list_com] :
            ( ( Xs
              = ( cons_list_com @ X3 @ Xs2 ) )
           => ( ( member64234660_state @ ( produc1204172211_state @ X3 @ Y ) @ R )
             => ~ ( member1442949316_state @ ( produc1742567891_state @ Xs2 @ Ys ) @ ( listre1268245261_state @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_315_listrel__Cons2,axiom,
    ! [Xs: list_P1040014977_state,Y: produc2041926651_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( listre194873521_state @ R ) )
     => ~ ! [X3: produc2041926651_state,Xs2: list_P1040014977_state] :
            ( ( Xs
              = ( cons_P465369265_state @ X3 @ Xs2 ) )
           => ( ( member1069318160_state @ ( produc1909270103_state @ X3 @ Y ) @ R )
             => ~ ( member1267359376_state @ ( produc1298457559_state @ Xs2 @ Ys ) @ ( listre194873521_state @ R ) ) ) ) ) ).

% listrel_Cons2
thf(fact_316_listrel__Cons1,axiom,
    ! [Y: com,Ys: list_com,Xs: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ Y @ Ys ) @ Xs ) @ ( listrel_com_com @ R ) )
     => ~ ! [Y3: com,Ys3: list_com] :
            ( ( Xs
              = ( cons_com @ Y3 @ Ys3 ) )
           => ( ( member1333916004om_com @ ( product_Pair_com_com @ Y @ Y3 ) @ R )
             => ~ ( member32358020st_com @ ( produc1307105171st_com @ Ys @ Ys3 ) @ ( listrel_com_com @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_317_listrel__Cons1,axiom,
    ! [Y: list_com,Ys: list_list_com,Xs: list_state,R: set_Pr849496667_state] :
      ( ( member1442949316_state @ ( produc1742567891_state @ ( cons_list_com @ Y @ Ys ) @ Xs ) @ ( listre1268245261_state @ R ) )
     => ~ ! [Y3: state,Ys3: list_state] :
            ( ( Xs
              = ( cons_state @ Y3 @ Ys3 ) )
           => ( ( member64234660_state @ ( produc1204172211_state @ Y @ Y3 ) @ R )
             => ~ ( member1442949316_state @ ( produc1742567891_state @ Ys @ Ys3 ) @ ( listre1268245261_state @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_318_listrel__Cons1,axiom,
    ! [Y: produc2041926651_state,Ys: list_P1040014977_state,Xs: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ Y @ Ys ) @ Xs ) @ ( listre194873521_state @ R ) )
     => ~ ! [Y3: produc2041926651_state,Ys3: list_P1040014977_state] :
            ( ( Xs
              = ( cons_P465369265_state @ Y3 @ Ys3 ) )
           => ( ( member1069318160_state @ ( produc1909270103_state @ Y @ Y3 ) @ R )
             => ~ ( member1267359376_state @ ( produc1298457559_state @ Ys @ Ys3 ) @ ( listre194873521_state @ R ) ) ) ) ) ).

% listrel_Cons1
thf(fact_319_listrel_OCons,axiom,
    ! [X: com,Y: com,R: set_Pr1822651163om_com,Xs: list_com,Ys: list_com] :
      ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( listrel_com_com @ R ) )
       => ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ Y @ Ys ) ) @ ( listrel_com_com @ R ) ) ) ) ).

% listrel.Cons
thf(fact_320_listrel_OCons,axiom,
    ! [X: list_com,Y: state,R: set_Pr849496667_state,Xs: list_list_com,Ys: list_state] :
      ( ( member64234660_state @ ( produc1204172211_state @ X @ Y ) @ R )
     => ( ( member1442949316_state @ ( produc1742567891_state @ Xs @ Ys ) @ ( listre1268245261_state @ R ) )
       => ( member1442949316_state @ ( produc1742567891_state @ ( cons_list_com @ X @ Xs ) @ ( cons_state @ Y @ Ys ) ) @ ( listre1268245261_state @ R ) ) ) ) ).

% listrel.Cons
thf(fact_321_listrel_OCons,axiom,
    ! [X: produc2041926651_state,Y: produc2041926651_state,R: set_Pr1165141447_state,Xs: list_P1040014977_state,Ys: list_P1040014977_state] :
      ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R )
     => ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre194873521_state @ R ) )
       => ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( listre194873521_state @ R ) ) ) ) ).

% listrel.Cons
thf(fact_322_listrel__reflcl__if__listrel1,axiom,
    ! [Xs: list_P1040014977_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre1738592858_state @ R ) )
     => ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( listre194873521_state @ ( transi1302705790_state @ R ) ) ) ) ).

% listrel_reflcl_if_listrel1
thf(fact_323_listrel__rtrancl__eq__rtrancl__listrel1,axiom,
    ! [R: set_Pr1165141447_state] :
      ( ( listre194873521_state @ ( transi1302705790_state @ R ) )
      = ( transi339813252_state @ ( listre1738592858_state @ R ) ) ) ).

% listrel_rtrancl_eq_rtrancl_listrel1
thf(fact_324_listrel_Oinducts,axiom,
    ! [X1: list_com,X2: list_com,R: set_Pr1822651163om_com,P: list_com > list_com > $o] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ X1 @ X2 ) @ ( listrel_com_com @ R ) )
     => ( ( P @ nil_com @ nil_com )
       => ( ! [X3: com,Y3: com,Xs2: list_com,Ys3: list_com] :
              ( ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ Y3 ) @ R )
             => ( ( member32358020st_com @ ( produc1307105171st_com @ Xs2 @ Ys3 ) @ ( listrel_com_com @ R ) )
               => ( ( P @ Xs2 @ Ys3 )
                 => ( P @ ( cons_com @ X3 @ Xs2 ) @ ( cons_com @ Y3 @ Ys3 ) ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) ).

% listrel.inducts
thf(fact_325_listrel_Oinducts,axiom,
    ! [X1: list_list_com,X2: list_state,R: set_Pr849496667_state,P: list_list_com > list_state > $o] :
      ( ( member1442949316_state @ ( produc1742567891_state @ X1 @ X2 ) @ ( listre1268245261_state @ R ) )
     => ( ( P @ nil_list_com @ nil_state )
       => ( ! [X3: list_com,Y3: state,Xs2: list_list_com,Ys3: list_state] :
              ( ( member64234660_state @ ( produc1204172211_state @ X3 @ Y3 ) @ R )
             => ( ( member1442949316_state @ ( produc1742567891_state @ Xs2 @ Ys3 ) @ ( listre1268245261_state @ R ) )
               => ( ( P @ Xs2 @ Ys3 )
                 => ( P @ ( cons_list_com @ X3 @ Xs2 ) @ ( cons_state @ Y3 @ Ys3 ) ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) ).

% listrel.inducts
thf(fact_326_listrel_Oinducts,axiom,
    ! [X1: list_P1040014977_state,X2: list_P1040014977_state,R: set_Pr1165141447_state,P: list_P1040014977_state > list_P1040014977_state > $o] :
      ( ( member1267359376_state @ ( produc1298457559_state @ X1 @ X2 ) @ ( listre194873521_state @ R ) )
     => ( ( P @ nil_Pr1844458753_state @ nil_Pr1844458753_state )
       => ( ! [X3: produc2041926651_state,Y3: produc2041926651_state,Xs2: list_P1040014977_state,Ys3: list_P1040014977_state] :
              ( ( member1069318160_state @ ( produc1909270103_state @ X3 @ Y3 ) @ R )
             => ( ( member1267359376_state @ ( produc1298457559_state @ Xs2 @ Ys3 ) @ ( listre194873521_state @ R ) )
               => ( ( P @ Xs2 @ Ys3 )
                 => ( P @ ( cons_P465369265_state @ X3 @ Xs2 ) @ ( cons_P465369265_state @ Y3 @ Ys3 ) ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) ).

% listrel.inducts
thf(fact_327_listrel_Osimps,axiom,
    ! [A1: list_com,A22: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ A1 @ A22 ) @ ( listrel_com_com @ R ) )
      = ( ( ( A1 = nil_com )
          & ( A22 = nil_com ) )
        | ? [X4: com,Y5: com,Xs3: list_com,Ys4: list_com] :
            ( ( A1
              = ( cons_com @ X4 @ Xs3 ) )
            & ( A22
              = ( cons_com @ Y5 @ Ys4 ) )
            & ( member1333916004om_com @ ( product_Pair_com_com @ X4 @ Y5 ) @ R )
            & ( member32358020st_com @ ( produc1307105171st_com @ Xs3 @ Ys4 ) @ ( listrel_com_com @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_328_listrel_Osimps,axiom,
    ! [A1: list_list_com,A22: list_state,R: set_Pr849496667_state] :
      ( ( member1442949316_state @ ( produc1742567891_state @ A1 @ A22 ) @ ( listre1268245261_state @ R ) )
      = ( ( ( A1 = nil_list_com )
          & ( A22 = nil_state ) )
        | ? [X4: list_com,Y5: state,Xs3: list_list_com,Ys4: list_state] :
            ( ( A1
              = ( cons_list_com @ X4 @ Xs3 ) )
            & ( A22
              = ( cons_state @ Y5 @ Ys4 ) )
            & ( member64234660_state @ ( produc1204172211_state @ X4 @ Y5 ) @ R )
            & ( member1442949316_state @ ( produc1742567891_state @ Xs3 @ Ys4 ) @ ( listre1268245261_state @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_329_listrel_Osimps,axiom,
    ! [A1: list_P1040014977_state,A22: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ A1 @ A22 ) @ ( listre194873521_state @ R ) )
      = ( ( ( A1 = nil_Pr1844458753_state )
          & ( A22 = nil_Pr1844458753_state ) )
        | ? [X4: produc2041926651_state,Y5: produc2041926651_state,Xs3: list_P1040014977_state,Ys4: list_P1040014977_state] :
            ( ( A1
              = ( cons_P465369265_state @ X4 @ Xs3 ) )
            & ( A22
              = ( cons_P465369265_state @ Y5 @ Ys4 ) )
            & ( member1069318160_state @ ( produc1909270103_state @ X4 @ Y5 ) @ R )
            & ( member1267359376_state @ ( produc1298457559_state @ Xs3 @ Ys4 ) @ ( listre194873521_state @ R ) ) ) ) ) ).

% listrel.simps
thf(fact_330_irreflI,axiom,
    ! [R2: set_Pr1165141447_state] :
      ( ! [A3: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ A3 @ A3 ) @ R2 )
     => ( irrefl654089520_state @ R2 ) ) ).

% irreflI
thf(fact_331_irrefl__def,axiom,
    ( irrefl654089520_state
    = ( ^ [R3: set_Pr1165141447_state] :
        ! [A5: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ A5 @ A5 ) @ R3 ) ) ) ).

% irrefl_def
thf(fact_332_lenlex__append2,axiom,
    ! [R2: set_Pr1822651163om_com,Us2: list_com,Xs: list_com,Ys: list_com] :
      ( ( irrefl_com @ R2 )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Us2 @ Xs ) @ ( append_com @ Us2 @ Ys ) ) @ ( lenlex_com @ R2 ) )
        = ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( lenlex_com @ R2 ) ) ) ) ).

% lenlex_append2
thf(fact_333_Nil__lenlex__iff1,axiom,
    ! [Ns: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ Ns ) @ ( lenlex_com @ R ) )
      = ( Ns != nil_com ) ) ).

% Nil_lenlex_iff1
thf(fact_334_Nil__notin__lex,axiom,
    ! [Ys: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ nil_com @ Ys ) @ ( lex_com @ R ) ) ).

% Nil_notin_lex
thf(fact_335_Nil2__notin__lex,axiom,
    ! [Xs: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ Xs @ nil_com ) @ ( lex_com @ R ) ) ).

% Nil2_notin_lex
thf(fact_336_lex__append__leftI,axiom,
    ! [Ys: list_com,Zs: list_com,R: set_Pr1822651163om_com,Xs: list_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ Ys @ Zs ) @ ( lex_com @ R ) )
     => ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ Ys ) @ ( append_com @ Xs @ Zs ) ) @ ( lex_com @ R ) ) ) ).

% lex_append_leftI
thf(fact_337_lenlex__irreflexive,axiom,
    ! [R: set_Pr1165141447_state,Xs: list_P1040014977_state] :
      ( ! [X3: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ X3 @ X3 ) @ R )
     => ~ ( member1267359376_state @ ( produc1298457559_state @ Xs @ Xs ) @ ( lenlex295247238_state @ R ) ) ) ).

% lenlex_irreflexive
thf(fact_338_Nil__lenlex__iff2,axiom,
    ! [Ns: list_com,R: set_Pr1822651163om_com] :
      ~ ( member32358020st_com @ ( produc1307105171st_com @ Ns @ nil_com ) @ ( lenlex_com @ R ) ) ).

% Nil_lenlex_iff2
thf(fact_339_lex__append__leftD,axiom,
    ! [R: set_Pr1822651163om_com,Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ! [X3: com] :
          ~ ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ X3 ) @ R )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ Ys ) @ ( append_com @ Xs @ Zs ) ) @ ( lex_com @ R ) )
       => ( member32358020st_com @ ( produc1307105171st_com @ Ys @ Zs ) @ ( lex_com @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_340_lex__append__leftD,axiom,
    ! [R: set_Pr1165141447_state,Xs: list_P1040014977_state,Ys: list_P1040014977_state,Zs: list_P1040014977_state] :
      ( ! [X3: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ X3 @ X3 ) @ R )
     => ( ( member1267359376_state @ ( produc1298457559_state @ ( append982487830_state @ Xs @ Ys ) @ ( append982487830_state @ Xs @ Zs ) ) @ ( lex_Pr570247525_state @ R ) )
       => ( member1267359376_state @ ( produc1298457559_state @ Ys @ Zs ) @ ( lex_Pr570247525_state @ R ) ) ) ) ).

% lex_append_leftD
thf(fact_341_lex__append__left__iff,axiom,
    ! [R: set_Pr1822651163om_com,Xs: list_com,Ys: list_com,Zs: list_com] :
      ( ! [X3: com] :
          ~ ( member1333916004om_com @ ( product_Pair_com_com @ X3 @ X3 ) @ R )
     => ( ( member32358020st_com @ ( produc1307105171st_com @ ( append_com @ Xs @ Ys ) @ ( append_com @ Xs @ Zs ) ) @ ( lex_com @ R ) )
        = ( member32358020st_com @ ( produc1307105171st_com @ Ys @ Zs ) @ ( lex_com @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_342_lex__append__left__iff,axiom,
    ! [R: set_Pr1165141447_state,Xs: list_P1040014977_state,Ys: list_P1040014977_state,Zs: list_P1040014977_state] :
      ( ! [X3: produc2041926651_state] :
          ~ ( member1069318160_state @ ( produc1909270103_state @ X3 @ X3 ) @ R )
     => ( ( member1267359376_state @ ( produc1298457559_state @ ( append982487830_state @ Xs @ Ys ) @ ( append982487830_state @ Xs @ Zs ) ) @ ( lex_Pr570247525_state @ R ) )
        = ( member1267359376_state @ ( produc1298457559_state @ Ys @ Zs ) @ ( lex_Pr570247525_state @ R ) ) ) ) ).

% lex_append_left_iff
thf(fact_343_Cons__in__lex,axiom,
    ! [X: com,Xs: list_com,Y: com,Ys: list_com,R: set_Pr1822651163om_com] :
      ( ( member32358020st_com @ ( produc1307105171st_com @ ( cons_com @ X @ Xs ) @ ( cons_com @ Y @ Ys ) ) @ ( lex_com @ R ) )
      = ( ( ( member1333916004om_com @ ( product_Pair_com_com @ X @ Y ) @ R )
          & ( ( size_size_list_com @ Xs )
            = ( size_size_list_com @ Ys ) ) )
        | ( ( X = Y )
          & ( member32358020st_com @ ( produc1307105171st_com @ Xs @ Ys ) @ ( lex_com @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_344_Cons__in__lex,axiom,
    ! [X: produc2041926651_state,Xs: list_P1040014977_state,Y: produc2041926651_state,Ys: list_P1040014977_state,R: set_Pr1165141447_state] :
      ( ( member1267359376_state @ ( produc1298457559_state @ ( cons_P465369265_state @ X @ Xs ) @ ( cons_P465369265_state @ Y @ Ys ) ) @ ( lex_Pr570247525_state @ R ) )
      = ( ( ( member1069318160_state @ ( produc1909270103_state @ X @ Y ) @ R )
          & ( ( size_s213202669_state @ Xs )
            = ( size_s213202669_state @ Ys ) ) )
        | ( ( X = Y )
          & ( member1267359376_state @ ( produc1298457559_state @ Xs @ Ys ) @ ( lex_Pr570247525_state @ R ) ) ) ) ) ).

% Cons_in_lex
thf(fact_345_rotate1_Osimps_I2_J,axiom,
    ! [X: com,Xs: list_com] :
      ( ( rotate1_com @ ( cons_com @ X @ Xs ) )
      = ( append_com @ Xs @ ( cons_com @ X @ nil_com ) ) ) ).

% rotate1.simps(2)
thf(fact_346_append__eq__append__conv,axiom,
    ! [Xs: list_com,Ys: list_com,Us2: list_com,Vs: list_com] :
      ( ( ( ( size_size_list_com @ Xs )
          = ( size_size_list_com @ Ys ) )
        | ( ( size_size_list_com @ Us2 )
          = ( size_size_list_com @ Vs ) ) )
     => ( ( ( append_com @ Xs @ Us2 )
          = ( append_com @ Ys @ Vs ) )
        = ( ( Xs = Ys )
          & ( Us2 = Vs ) ) ) ) ).

% append_eq_append_conv
thf(fact_347_rotate1__is__Nil__conv,axiom,
    ! [Xs: list_com] :
      ( ( ( rotate1_com @ Xs )
        = nil_com )
      = ( Xs = nil_com ) ) ).

% rotate1_is_Nil_conv
thf(fact_348_length__0__conv,axiom,
    ! [Xs: list_com] :
      ( ( ( size_size_list_com @ Xs )
        = zero_zero_nat )
      = ( Xs = nil_com ) ) ).

% length_0_conv

% Conjectures (5)
thf(conj_0,hypothesis,
    ( ( f @ zero_zero_nat )
    = ( produc1204172211_state @ ( cons_com @ ( while @ b @ c ) @ cs ) @ s ) ) ).

thf(conj_1,hypothesis,
    ! [I3: nat] : ( member1069318160_state @ ( produc1909270103_state @ ( f @ I3 ) @ ( f @ ( suc @ I3 ) ) ) @ pHoare259243666_exec1 ) ).

thf(conj_2,hypothesis,
    member1069318160_state @ ( produc1909270103_state @ ( f @ zero_zero_nat ) @ ( f @ ( suc @ zero_zero_nat ) ) ) @ pHoare259243666_exec1 ).

thf(conj_3,hypothesis,
    ( ( f @ ( suc @ zero_zero_nat ) )
    = ( produc1204172211_state @ a @ ba ) ) ).

thf(conj_4,conjecture,
    ( ~ ( b @ s )
    | ? [F4: nat > produc2041926651_state] :
        ( ( ( F4 @ zero_zero_nat )
          = ( produc1204172211_state @ ( cons_com @ c @ ( cons_com @ ( while @ b @ c ) @ cs ) ) @ s ) )
        & ! [I2: nat] : ( member1069318160_state @ ( produc1909270103_state @ ( F4 @ I2 ) @ ( F4 @ ( suc @ I2 ) ) ) @ pHoare259243666_exec1 ) ) ) ).

%------------------------------------------------------------------------------